Python3爬取今日头条有关《人民的名义》文章

最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好《人民的名义》刚结束,于是决定扒一下头条上面的人名的名义文章,试试技术同时可以集中看一下大家的脑洞也是极好的。

首先,我们先打开头条的网页版,在右上角搜索框输入关键词,通过chrome调试工具,我们定位到头条的search栏调用的的API为:

http://www.toutiao.com/search_content/?offset=0&format=json&keyword=%E4%BA%BA%E6%B0%91%E7%9A%84%E5%90%8D%E4%B9%89&autoload=true&count=20&cur_tab=1

其返回的数据是标准的json,所有的相关文章链接在data中,key值为article_url,好准备工作完成,我们开始动手coding。

首先,我们构造头条必要的search条件:

query_data = {'offset':offset,'format':'json','keyword':'人民的名义','autoload':'true','count':20,# 每次返回 20 篇文章'cur_tab':1}

当然,我们除了search参数之外,还需要必要的header头信息,仔细查看之后我们可以看到,

我们只选取其中必要的信息,不放cookie;

然后是编码查询条件

其中_get_query_string方法将query_data编码;

拿到article_req之后解析获取当前搜索结果的所有文章链接,实现如下:

获取到文章链接之后,我们打开每一个url进行解析。

此处,我们简单地对article_content进行解析,取出文章标题、内容和图片。

解析完成之后,我们将内容保存到mongo中,方便后续的取数分析。

然后我们运行一下程序,

运行程序的时候我们发现,通过search来搜索最后得到的文章数量有限,只有几十篇文章,估计是头条的限制。

下一篇我们将介绍如何通过一篇文章和相关推荐进行链式爬取所有的关联推荐文章。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,378评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,307评论 19 139
  • 本文是学习 天善学院 Python3爬虫三大案例实战分享 / 分析Ajax抓取今日头条街拍美图 后所写,感谢崔庆才...
    4ffde5305e8f阅读 1,902评论 0 5
  • 股票 股票,指公司签发的证明股东所持股份的凭证。过去确实有一张“纸”作为股票。现在沪深证交所股票买卖实行无纸化,计...
    孤逐王阅读 5,696评论 8 229
  • 《祖国啊,母亲》67年前,你在漫长的黑夜尽头望到黎明的曙光。67年前,你有了一个响亮的名字。67年前,你终于满眼泪...
    重庆精神病院长阅读 406评论 0 0

友情链接更多精彩内容