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

今日头条的数据都是ajax加载显示的,按照正常的url是抓取不到数据的,需要分析出加载出址,我们以 https://www.toutiao.com/search/?keyword=%E6%96%B0%E9%97%BB 为例来采集列表的文章

用谷歌浏览器打开链接,右键点击“审查”在控制台切换至network并点击XHR,这样就可以过滤图片、文件等等不必要的请求只看页面内容的请求

由于页面是ajax加载的,所以将页面拉至最底部,会自动加载出更多文章,这时候控制台抓取到的链接就是我们真正需要的列表页链接:

https://www.toutiao.com/search_content/?offset=20&format=json&keyword=%E6%96%B0%E9%97%BB&autoload=true&count=20&cur_tab=1&from=search_tab

在蓝天采集中创建一个任务

创建完毕点击“采集设置”,在“起始页网址”中填入上面抓取到的链接

接下来匹配内容页网址,头条的文章网址格式是https://www.toutiao.com/group/数字/

点击“内容页网址”编写“匹配内容网址”规则:

(?<content1>http://toutiao.com/group/\d+/)

这是个正则规则,意思就是把匹配的网址装进捕获组content1中,然后在下面填写[内容1] 即对应上面的content1 就可获取到内容页链接

可以点击测试查看是否成功抓取到了链接

抓取成功就可以开始获取内容了

点击“获取内容”在字段列表右边可以添加默认的字段,如标题、正文等都可以智能识别,如需精准还可以自行编辑字段,支持正则、xpath、json等匹配内容

我们需要抓取文章的标题和正文,由于是ajax显示的所以要写规则匹配出内容,分析篇源码:https://www.toutiao.com/a6358823350874145025/ ,找到文章位置

标题规则:articleInfo\s:\s{\stitle:\s‘[内容1]‘,

正文规则:content\s:\s‘[内容1]‘,\s*groupId

规则必须保证唯一性,不然会匹配到其他内容上去,将规则添加到字段中,获取方式选规则匹配:

规则编写完后点击保存,点击“测试”看看效果如何

规则无误,抓取正常,抓取到的数据还可以发布到cms系统、直接数据库入库、保存为excel文件等,点击底部导航条的“发布设置”即可,好了今日头条的采集到这里就结束了,大家不妨动手试试!

原文地址:http://blog.51cto.com/10051155/2113774

时间: 2024-10-10 19:49:15

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

爬取今日头条收藏夹文章列表信息

从了解Python到决定做这个项目,从临近期末考试到放假在家,利用零碎的时间持续了一个月吧.完成这个项目我用了三个阶段 阶段一: 了解Python,开始学习Python的基本语法,观看相关爬虫视频,了解到爬取网页信息的简单措施 阶段二: 开始着手分析头条收藏夹页面. 头条收藏夹地址格式: 地址中有三个变量参数,as,cp,max_repin_time,as,cp在页面内可以找到源码,是基于对当前时间戳加密得到的,max_repin_time是指向下一页面URL的关键值,从页面数据列的最后一项中获

python爬虫—— 抓取今日头条的街拍的妹子图

AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 近期在学习获取js动态加载网页的爬虫,决定通过实例加深理解. 1.首先是url的研究(谷歌浏览器的审查功能) http://www.toutiao.com/search_content/?offset=0&format=json&keyword=%E8%A1%97%E6%8B%8D&autoload=

分析Ajax请求并抓取今日头条街拍美图

通常我们从网页上爬取内容时,都是HTML代码,内容都已经写好了,直接从页面获取想要的信息即可,但是有的网页是通过ajax获取的数据,将ajax获取的数据通过json格式接受,然后展示在页面上的,也就是说,当我们打开一个页面时,首先请求的是他的html,然后HTML里面通过ajax获取后端数据,将数据以json格式展示在页面上.而近日头条就是这样.下面我们来看看. 我们打开链接:https://www.toutiao.com/search/?keyword=%E8%A1%97%E6%8B%8D,我

python测试抓取今日头条

# coding:utf-8 import requests import json url = 'http://www.toutiao.com/search_content/?offset=0&format=json&keyword=%E5%B0%8F%E5%BA%B7%E7%A4%BE%E4%BC%9A&autoload=true&count=20&cur_tab=1' wbdata = requests.get(url).text data = json.lo

使用js抓取今日头条的文章

首先验证头条接口是否支持jsonp,在接口地址的参数中添加callback=call http://www.toutiao.com/pgc/ma/?page_type=1&count=10&version=2&platform=pc&media_id=52155491628&max_behot_time=0&as=A1A578A48B28B39&cp=584B080BD3899E1&callback=call 访问接口,返回的数据为:call

python爬虫 selenium 抓取 今日头条(ajax异步加载)

from selenium import webdriver from lxml import etree from pyquery import PyQuery as pq import time driver = webdriver.Chrome() driver.maximize_window() driver.get('https://www.toutiao.com/') driver.implicitly_wait(10) driver.find_element_by_link_tex

爬取今日头条历史图集将信息保存到MongDB,并且下载图片到本地

写在前面:学习<崔庆才_Python3爬虫入门到精通课程视频>动手写的小项目. (一) 分析页面 访问今日头条页面(https://www.toutiao.com/)在输入框中输入要搜索的关键字,搜索出的页面点击图集.要爬取的就是这里的所有图集. 查看页面的URL可以发现这是一个POST请求,然后我们就检查页面找到POST请求包,进行分析. 这个就是POST请求服务器返回的response 这是一个JSON格式的数据,复制下来放在解析器中查看.(使用jsonView) 可以看到data字段中的

C# 实现对网站数据的采集和抓取

首先大家需要清楚一点的是:任何网站的页面,无论是php.jsp.aspx这些动态页面还是用后台程序生成的静态页面都是可以在浏览器中查看其HTML源文件的. 所以当你要开发数据采集程序的时候,你必须先对你试图采集的网站的前台页面结构(HTML)要有所了解. 当你对要采集数据的网站里的HTML源文件内容十分熟悉之后,剩下程序上的事情就很好办了.因为C#对Web站点进行数据采集其原理就在于“把你要采集的页面HTML源文件下载下来,分析其中HTML代码然后抓取你需要的数据,最后将这些数据保存到本地文件”

使用python-aiohttp爬取今日头条

http://blog.csdn.net/u011475134/article/details/70198533 原出处 在上一篇文章<使用python-aiohttp爬取网易云音乐>中,我们给自己的微信公众号添加了在线点歌的功能,这次我们再增加一个新闻浏览的功能.由于我平时浏览新闻用的是今日头条,所以在这里就想通过爬取今日头条来获取新闻.不过遗憾的是,这一次我在网上没有找到满意的方法,所以还是自己动手吧. 打开抓包软件Fiddler并设置Filters.  打开今日头条网页,选择热点. ur