emmmmm,太简单了,写了四个程序,只有一个稍稍还行,凑合着看。
直接摆出程序吧,要用的,自己分析,没啥难度
import requests
import os
url="https://www.toutiao.com/api/search/content/?aid=24&app_name=web_search&offset=0&format=json&keyword=%E7%BE%8E%E5%A5%B3&autoload=true&count=20&en_qc=1&cur_tab=2&from=video&pd=video×tamp=1563982281948"
hearders={
"user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3676.400 QQBrowser/10.4.3469.400"
}
cookies={
"cookie":"tt_webid=6717252305459611148; WEATHER_CITY=%E5%8C%97%E4%BA%AC; tt_webid=6717252305459611148; UM_distinctid=16c249a6c884cb-03a8ff7faa9541-345b4871-144000-16c249a6c89108; CNZZDATA1259612802=1075337272-1563979517-https%253A%252F%252Fwww.sogou.com%252F%7C1563979517; __tasessionId=6aeeg14nz1563982196051; csrftoken=d4074b1c3f4159bba519340770901fdf; s_v_web_id=e95f92e1d96dbeace08ab532f0156ca8"
}
rs=requests.get(url,cookies=cookies) #又修改了,这里不能用hearders,只能使用cookies
print(rs.text)
#自带json解析
data=rs.json()['data'] #谷歌的ctrl+G,能够再源代码中找到特定的代码,在html中查找代码用XPath,在字符中查找字符用正则表达式
m=len(data)
if data==None:
print("数据没有了")
else:
for n in range(0, m):
print("爬取第{}条数据".format(n+1))
for i in data[n]['image_list']:
name = i['url'].split('/')[-1]
print(i['url'])
name1=name+'.jpg'
if (os.path.exists('图片/'+ name1)): # 判断文件是否存在
print("此条数据已经存在")
continue
else:
urlstr = i['url']
rs1 = requests.get(urlstr, cookies=cookies)
f = open('图片/'+name + '.jpg', 'wb')
f.write(rs1.content)
f.close()
print("爬取完成")