您的位置:首页 > 编程语言 > Python开发

[python爬虫]爬取今日头条,例子:街拍将图片存到本地文件夹里

2018-08-16 23:44 232 查看

import requests,json,os,time,re
from urllib import request
from piaot import *

提交post,翻页,因为是瀑布流

def post_pq(url):

headers = {
"User-Agent": pa()
}
# 用post方法调用
a = requests.post(url, headers=headers)
# 返回
a1 = a.text

# 用json转码
a1 = json.loads(a1)

return a1

主循环

def pq(x=0):

for i in range(x):

# 判断当x结束值等于当前i的值说明循环结束,所以强制结束
if i == x:
break

# 处理每次网页的页数
shu = i*20

# 自定义网站
url='http://www.toutiao.com/search_content/?offset='+str(shu)+'&format=json&keyword=%E8%A1%97%E6%8B%8D&autoload=true&count=20&cur_tab=1&from=search_tab'

# 调用定义的请求网站方法
a1=post_pq(url)

# 计数
shu=0

# 循环爬取想要的数据
for j in range(20):

xs = a1['data'][j]

# 判断是否存储
if 'article_url' in xs.keys():

shu+=1

name=(xs['title'])

# 存储命名
b = 'C:/Users/黑神/Desktop/pc_zy/街拍/' + name

# 命名
b3 = 'C:/Users/黑神/Desktop/pc_zy/街拍/' + name + '/pic'

# 判断当前路径是否存在,没有则创建new文件夹
if not os.path.exists(b):

print('正在创建文件夹:路径C:/Users/黑神/Desktop/pc_zy/街拍/')
# 执行存储
os.makedirs(b3)

print('创建成功....')

# 获得每一页的小题的连接
xbt=(xs['article_url'])

# 调用自定义函数
html = yc(xbt)

# 将返回的2进制修改编码utf-8
html = html.decode('utf-8')

# 正则表达式
xz = r'JSON\.parse\((.*)\),'
ll = re.search(xz, html)

# 返回值
html = ll.group(1)

# json转码
xq = json.loads(html)

# 2次json转码
xq = json.loads(xq)
shu_l=0

# 循环url网络连接
for i in xq['sub_images']:
shu_l+=1
tp=b3+'//{}.jpg'.format(str(shu_l))
tp_url=yc(i['url'])

# 保存到文件
with open(tp, 'wb') as f:
f.write(tp_url)

print('名称:',name,'网站:',xbt,'现在执行第',shu,'次!')

if name==’main‘:
#输入页数,例如:3
pq(3)

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: