当前位置: 首页 > 后端技术 > PHP

使用php蓝天采集器抓取今日头条ajax文章内容

时间:2023-03-29 18:41:22 PHP

今日头条数据全部通过ajax加载显示。按照正常的url,是抓不到数据的。需要分析加载地址。我们使用https://www.toutiao.com/searc...以文章列表为例,用谷歌浏览器打开链接,在控制台右击“评论”,切换到网络点击XHR,这样可以过滤图片、文件等。此时控制台抓取的链接就是我们真正需要的列表页链接:https://www.toutiao.com/searc...在蓝天采集器中创建任务。创建完成后,点击“收藏家设置”,在“起始页URL”中填写上面抓取的链接,下一步匹配内容页的URL。头条文章URL格式为https://www.toutiao.com/group...点击“内容页URL”,写入“匹配内容URL”规则:(?http://toutiao.com/group/d+/)这个是正则规则,就是把匹配的url放到捕获组content1中,然后在下面填写[content1],对应上面的content1,就可以得到内容页面链接。可以点击测试,看是否成功抓取链接后,就可以开始获取内容了。点击“获取内容”,在字段列表右侧添加默认字段,如标题、正文等,可智能识别。如果需要精准,也可以自己编辑字段,支持正则、xpath、json等匹配内容,我们需要抓取文章的标题和正文。由于是ajax展示的,所以我们需要写规则来匹配内容。分析文章源码:https://www.toutiao.com/a6358...,找到文章位置标题规则:articleInfos:s{stitle:s'[content1]',正文规则:contents:s'[content1]',s*groupId规则必须保证唯一性,否则会匹配其他内容,将规则添加到字段中,获取方式选择规则匹配:写完规则点击保存,点击“测试”看看效果如何。规则正确,抓包正常。抓取的数据还可以发布到cms系统直接存入数据库,保存为excel文件等,只需点击底部导航栏“发布设置”,今日头条合集到这里就结束了,你不妨亲自试一试!