python编程100例头条-python 简单爬取今日头条热点新闻(一)

本文介绍如何利用Python爬取今日头条的热点新闻。通过分析浏览器的网络请求,找到包含新闻数据的JSON文件,解析请求URL的参数,特别是加密参数`as`和`cp`,并使用相应的加密算法生成。然后利用`requests`库获取数据,并存储到Excel文件中,实现对今日头条热点新闻的抓取和存储。
摘要由CSDN通过智能技术生成

今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的;

在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式network下很快能找到一个"?category=new_hot...’字样的文件,查看该文件发现新闻内容的数据全部存储在data里面,且能发现数据类型为json;如下图:

1594183-20190214113939595-159987714.png

这样一来就简单了,只要找到这个文件的requests url即可通过python requests来爬取网页了;

查看请求的url,如下图:

1594183-20190214114157850-455890853.png

发现链接为:https://www.toutiao.com/api/pc/feed/?category=news_hot&utm_source=toutiao&widen=1&max_behot_time=0&max_behot_time_tmp=0&tadrequire=true&as=A1B5AC16548E0FA&cp=5C647E601F9AEE1&_signature=F09fYAAASzBjiSc9oUU9MxdPX3

其中有9个参数,对比如下表:

1594183-20190214115239081-593288408.png

其中max_behot_time在获取的json数据中获得,具体数据见如下截图:

1594183-20190214135549899-1545270666.png

在网上找了下大神对as和cp算法的分析,发现两个参数在js文件:home_4abea46.js中有,具体算法如下代码:

!function(t) {

var e = {};

e.getHoney = function() {

var t = Math.floor((new Date).getTime() / 1e3)

, e = t.toString(16).toUpperCase()

, i = md5(t).toString().toUpperCase();

if (8 != e.length)

return {

as: "479BB4B7254C150",

cp: "7E0AC8874BB0985"

};

for (var n = i.slice(0, 5), a = i

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值