目前正在自学爬虫,在b站上看到网课都比较过时,页面情况早已改变,对于新手比较不友好,经过尝试成功爬取今日头条图片并下载。
首先是在今日头条下进行搜索:https://www.toutiao.com/search/?keyword=美女
右键点击查看网页源代码后发现并不是我们需要的,经过分析,应该是该数据是通过异步加载Ajax实现的。右键点击检查,点击Network并切换到XHR,此时再刷新页面可以看到offset=0且为json格式的数据,往下滑动可以看到出现offset=20 40,代表页面持续加载。右侧的Request URL链接就是我们需要的。
下图中的aid等数据就是Request URL后面的参数。
Preview里的data就是我们需要提取的每条搜索结果的数据内容。
因此,
def get_page(offset, keyword):
data = {
'aid': 24,
'app_name': 'web_search',
'offset': offset,
'format': 'json',
'keyword': keyword,
'autoload': 'true',
'count': '20',
'en_qc': '1',
'cur_tab': '1',
'from': 'search_tab'