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参数哦,谢谢~~

时间: 2024-11-05 18:53:43

Python爬取今日头条段子的相关文章

python爬取今日头条关键字图集

1.访问搜索图集结果,获得json如下(右图为data的一条的详细内容).页面以Ajax呈现,每次请求20个图集,其中 title --- 图集名字 artical_url --- 图集的地址 count --- 图集图片数量    2. 访问其中的图集 访问artical_url,获得图集图片详细信息,其中图片url为下载地址 展现出爬虫关键部分,整体项目地址在https://github.com/GeoffreyHub/toutiao_spider 1 #!/usr/bin/env pyth

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

Python3爬取今日头条有关<人民的名义>文章 最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好<人民的名义>刚结束,于是决定扒一下头条上面的人名的名义文章,试试技术同时可以集中看一下大家的脑洞也是极好的. 首先,我们先打开头条的网页版,在右上角搜索框输入关键词,通过chrome调试工具,我们定位到头条的search栏调用的的API为: http://www.toutiao.com/search_content/?offset=0&format=json

使用python-aiohttp爬取今日头条

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

Python3从零开始爬取今日头条的新闻【一、开发环境搭建】

Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Python3从零开始爬取今日头条的新闻[四.模拟点击切换tab标签获取内容] Python3从零开始爬取今日头条的新闻[五.解析头条视频真实播放地址并自动下载] 所谓爬虫,就是通过编程的方式自动从网络上获取自己所需的资源,比如文章.图片.音乐.视频等多媒体资源.通过一定的方式获取到html的内容,再通过

使用scrapy爬虫,爬取今日头条首页推荐新闻(scrapy+selenium+PhantomJS)

爬取今日头条https://www.toutiao.com/首页推荐的新闻,打开网址得到如下界面 查看源代码你会发现 全是js代码,说明今日头条的内容是通过js动态生成的. 用火狐浏览器F12查看得知 得到了今日头条的推荐新闻的接口地址:https://www.toutiao.com/api/pc/focus/ 单独访问这个地址得到 此接口得到的数据格式为json数据 我们用scrapy+selenium+PhantomJS的方式获取今日头条推荐的内容 下面是是scrapy中最核心的代码,位于s

用Ajax爬取今日头条图片

Ajax原理 ? 在用requests抓取页面时,得到的结果可能和浏览器中看到的不一样:在浏览器中可以正常显示的页面数据,但用requests得到的结果并没有.这是因为requests获取的都是原始 HTML文档,而浏览器中页面 则是经过Ajax处理数据后生成的.这些数据可能在HTML文档中,也可能是经过JavaScript和特定算法后生成的. ? 刚开始HTML文档中不包含某些数据,当原始页面加载完后,会向服务器发送Ajax请求获取数据,这些数据被JavaScript处理形成一些新页面. ?

用Ajax爬取今日头条图片集

Ajax原理 ? 在用requests抓取页面时,得到的结果可能和浏览器中看到的不一样:在浏览器中可以正常显示的页面数据,但用requests得到的结果并没有.这是因为requests获取的都是原始 HTML文档,而浏览器中页面 则是经过Ajax处理数据后生成的.这些数据可能在HTML文档中,也可能是经过JavaScript和特定算法后生成的. ? 刚开始HTML文档中不包含某些数据,当原始页面加载完后,会向服务器发送Ajax请求获取数据,这些数据被JavaScript处理形成一些新页面. ?

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

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

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

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