python爬虫今日头条_python 简单爬取今日头条热点新闻(

本文介绍如何利用Python爬虫获取今日头条的热点新闻。通过分析网页请求,找到包含新闻数据的JSON接口,并解析其中的as和cp参数,实现动态获取最新数据。最终将爬取的新闻信息存储到Excel文件中。
摘要由CSDN通过智能技术生成

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

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

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

查看请求的url,如下图:

发现链接为: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个参数,对比如下表:

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

在网上找了下大神对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.slice(-5), s = "", o = 0; 5 > o; o++)

s += n[o] + e[o];

for (var r = "", c = 0; 5 > c; c++)

r += e[c + 3] + a[c];

return {

as: "A1" + s + e.slice(-3),

cp: e.slice(0, 3) + r + "E1"

}

}

,

t.ascp = e

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值