Python爬取今日头条段子
刚入门Python爬虫,试了下爬取今日头条官网中的段子,网址为https://www.toutiao.com/ch/essay_joke/源码比较简陋,如下:
1 import requests 2 import json 3 res = requests.get('https://www.toutiao.com/api/article/feed/?category=essay_joke&utm_source=toutiao&widen=1&\
max_behot_time=0&max_behot_time_tmp=0&tadrequire=true&as=A155298266FA656&cp=5926EA66D5B66E1') 5 res_js = json.loads(res.text) 6 len_res_js = len(res_js['data']) 7 for mydata in res_js['data']: 8 print("用户名:"+mydata['group']['user']['name']) 9 print("发表时间:"+str(mydata['group']['create_time'])) 10 print("发表内容:"+mydata['group']['content'])
通过浏览器相关工具发现笑话的数据存储地址为https://www.toutiao.com/api/article/feed/?category=essay_joke&utm_source=toutiao&widen=1&max_behot_time=0&max_behot_time_tmp=0&tadrequire=true&as=A155298266FA656&cp=5926EA66D5B66E1,存储格式是JSON格式。
但是这里有个问题,里面的数据只有20条,也就是说一次只能获取20条笑话。然后我回到今日头条段子页面,向下拖动垂直滚动条,一直拖到最底,发现又多出了20条数据,通过浏览器相关工具找到多了一个数据存储的地址,地址为https://www.toutiao.com/api/article/feed/?category=essay_joke&utm_source=toutiao&widen=1&max_behot_time=1495705163&max_behot_time_tmp=1495705163&tadrequire=true&as=A18579F2460C72B&cp=59265C47E2CBAE1
本以为可以通过修改存储地址中变动的参数就可以无限的获取笑话数据了,然而发现变动的参数有四个,分别是max_behot_time,max_behot_time_tmp,as,cp,而且也不知道参数的值代表的意思。后来经过我一下午的潜心研究,才搞明白max_behot_time和max_behot_time_tmp指的是你打开网页的时间(格林威治秒),剩下两个参数as和cp死活搞不懂是什么,只晓得是16进制数
好吧,最后我又试着删了这俩参数,结果发现CP删掉影响不大,而as删掉就获取不了数据了,修改as值也不行。有兴趣有时间的大神可以帮忙看看这个as参数哦,谢谢~~
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单