简单爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页 |
您所在的位置:网站首页 › 为什么微博用户界面不一样呢 › 简单爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页 |
爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页
1.什么是ajax异步数据交换网页
2.用到的工具模块和简单解释
3.网页内容解析
4.代码实现及解释
1.什么是ajax异步数据交换网页
简单来说,就像微博评论一样,你获取新的内容不需要翻页,一直在固定的一个网页不断往下拉就行,手机端和电脑端都是如此;这样的网页用,把信息不断地数出在同一个网页上地技术就是ajax,具体地不必再说,直接切入爬取正题。 2.用到的工具模块和简单解释1.爬虫主要模块 requests模块 2.用于计时的time模块 3.用于随机获取指定内容的random模块 当然,time模块和random模块可以不需要,就能完成所有爬取功能。 不过,使用Time 是可以看一下爬取耗时,如果耗时太久想办法优化,也可以用于延迟程序运行一小段时间(就是创造爬取间隔时间),使用random是为了构造user-agent池。延迟程序运行一小段时间和构造user-agent 池都是为了防止微博发现你在爬取评论,微博反爬能力还是强的,我刚开始没用的程序延迟的时候,老是被反爬,被反爬的时候不仅爬取不到信息,连你网页上的评论也不给你看了,要等十几分钟才能恢复。 我在爬取很多条博客的时候,亲身实验,每一页爬取时间间隔在1-2s,爬取效果比较稳妥,使用user-agent池 交替更换user-agent 就可以缩短爬取时间间隔至0-1s。 3.网页内容解析1.我爬的是移动端微博,微博主页网页https://m.weibo.cn 2.随便选取一条评论数较多的微博,点进去(我随便找了一篇7000多评论的) 6.怎么找到所有链接呢?注意看我红色圈圈的两条,它们后面有两串数字,mid=xxxxxx,和max_id=xxxxxxx,还有一个max_id_type,两个链接的mid是相同的(因为它是这篇博文的id,这篇博文的所有mid当然相同),max_id是不相同的,(max_id_type这两条都是0,但是后面的不一定是),所以所有这些链接的区别仅仅是max_id和max_id_type的数值了,现在就要去找它们的关系。 7.大胆猜测一下,上一条链接必定存储着怎么打开下一个链接的信息,也就是max_id和max_id_type。点开一个链接的priview可以大致查看它的信息。 8.找到了不断爬取的方式,那现在就要来找到我们爬取的主要内容,还是在上一张图的priview中不断点开小箭头查去更多内容。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |