今日头条的街拍图片
首先对今日头条的街拍网站进行观察看一下这个图片在网页中的位置
是的这里可以用开发者工具找到这个的位置但是在这个网页的源代码中去找不到这个图片的位置,显然!这个图片不是和这个网页同时加载的,是一个其他请求携带的。
接下来我们在这个网页全部的加载内容里面找找看可以看到有好多json类型的加载内容,现在大多网页加载内容都会分步加载,就会用这个json类型来进行渲染和携带数据,我们就在这几个json类型的数据里面看看有没有发现。欸,巧了,在这个网页加载项里面有xhr触发源的json数据里面有我们想要的数据,相同的名字。
这下我们就有了这个图片加载列表的url了,复制这个加载项的url,进行请求,可以看到是一些标题,url,还有一些我们想要的字段。
这个就是json类型的数据,用相应的提取方法来进行提取,得到我们想要的东西。说了这么多也该用代码了。
import requests
import pprint
from urllib.parse import urlencode
headers = {
}
k = input('关键字')
for i in range(3):
www = {
' autoload': 'true',
'count': '20',
'cur_tab': '3',
'format': 'json',
'from': 'search_tab',
'keyword': 'k',
'offset': i * 20 ,
'pd': 'synthesis'
}
url = 'https://www.toutiao.com/search_content/?'+urlencode(www)
response = requests.get(url)
print(response.headers)
#pprint.pprint(response.json())
response_json = response.json()
data = response_json.get("data")
#print(data)
for item in data:
title = item.get("title")
images = item.get("image_list")
for image in images:
print(title, "http:" + image['url'])
with open('D:\py\spider\py\sssp\%s' %image[-5]+'.jpg' , 'ab') as f:
f.write(image.content)
是的,这样就可以获取到相应的图片了,不过,在进行运行后,发现这个是图片的缩略图,不是原图,这个就先到这里吧,第一次写这个,也不太熟,慢慢学习后面会发怎么获取原图的
TOT