虽说爬虫使用了代理IP可以突破限制,加快采集速度,但是这并不代表爬虫可以随意采集到数据的,也是需要针对网站的反爬虫机制进行研究,制定应对的方法,今天跟大家去了解下Ajax加载动态数据的问题,网络爬虫怎么获取到Ajax加载动态数据呢?
什么是Ajax加载动态数据?我们平常搜索资料,通常都是先出现一部分的数据,若是没有找到满意的答案,可以再继续下滑即可获取到新的数据。下面跟小编去看看模拟Ajax请求爬取微博数据的案例。
这里我们用程序模拟这些Ajax请求,将我的前10页微博全部爬取下来。
定义一个方法来获取每次请求的结果,在请求时,page是一个可变参数,所以我们将它作为方法的参数传递进来,相关代码如下:
首先,这里定义了base_url来表示请求的URL的前半部分。接下来,构造参数字典,其中type、value和containerid是固定参数,page是可变参数。调用urlencode()方法将参数转化为URL的GET请求参数,即类似于 type=uid&value=2830678474&containerid=1076032830678474&page=2 这样的形式。并将base_url与参数拼合形成一个新的URL。这样我们用requests请求这个链接,加入headers参数。然后判断响应的状态码,如果是200,则直接调用json()方法将内容解析为JSON返回,否则不返回任何信息。如果出现异常,则捕获并输出其异常信息。
随后,我们需要定义一个解析方法,用来从结果中提取想要的信息,比如这次想保存微博的id、正文、赞数、评论数和转发数这几个内容,那么可以先遍历cards,然后获取mblog中的各个信息,赋值为一个新的字典返回即可:
这里我们借助pyquery将正文中的HTML标签去掉。
最后,遍历一下 page ,一共10页,将提取到的结果打印输出即可:
另外,我们还可以加一个方法将结果保存到MongoDB数据库:
这样所有功能就实现完成了。运行程序后,样例输出结果如下:
查看一下MongoDB,相应的数据也被保存到MongoDB。
这样,我们就顺利通过分析Ajax并编写爬虫爬取下来了微博列表。
上文主要是介绍了模拟Ajax请求爬取微博数据的案例,目的是为了演示Ajax的模拟请求过程,爬取的结果不是重点。通过这个实例,我们主要学会了怎样去分析Ajax请求,怎样用程序来模拟抓取Ajax请求。
当然这程序仍有很多可以完善的地方,如页码的动态计算、微博查看全文等,若感兴趣,可以尝试一下。
相关资讯
相关文章内容简介
1 实战:模拟Ajax请求爬取微博数据
虽说爬虫使用了代理IP可以突破限制,加快采集速度,但是这并不代表爬虫可以随意采集到数据的,也是需要针对网站的反爬虫机制进行研究,制定应对的方法,今天跟大家去了解下Ajax加载动态数据的问题,网络爬虫怎么获取到Ajax加载动态数据呢? 什么是Ajax加载动态数据?我们平常搜索资料,通常都是先出现一部分的数据,若是没有找到满意的答案,可以再继续下滑即可获取到新的数据。下面跟小编去看看模拟Ajax请求爬取微博数据的案例。 这里我们用程序模拟这些Ajax请求,将我的前10页微博全部爬取下来。 定义一个方法来获取每次请求的结果,在请求时,page是一个可变参数,所以我们将它作为方法的参数传递进来,相关代码如下: 首先,这里定义了base_url来表示请求的URL的前半部 [阅读全文]
推荐阅读
27
2019-05
代理IP有什么用处?
经常上网的话,会听到这样一个词,就是代理IP。代理IP的意思,就是将用户的真实IP进行替换,用另一个IP进行替换。现在的网络上,有些网站或软件是可以帮助用户进行IP更换的。用到IP更换的
13
2019-02
实战:模拟Ajax请求爬取微博数据
虽说爬虫使用了代理IP可以突破限制,加快采集速度,但是这并不代表爬虫可以随意采集到数据的,也是需要针对网站的反爬虫机制进行研究,制定应对的方法,今天跟大家去了解下Ajax加载动态
27
2019-05
高质量代理ip对网络安全的好处
在信息化时代,网络安全对我们而言非常重要,如果我们希望在上网的过程当中隐藏自己的身份,使自己的个人信息不至于暴露,我们可以选择高质量代理ip。这种途径与以往传统的方式有所不
13
2018-09
什么是ip地址?一分钟让你了解什么是ip地址网络号
什么是ip地址?一分钟让你了解什么是ip地址网络号所谓IP就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP用二进制来表示,每个IP长32bit,比特换算成字节,就是4个
27
2019-05
HTTP代理能做什么?
在网上浏览一些内容的话,会看到http代理这个字眼,http代理就是将用户的ip进行更换,然后帮助用户在网上做一些事情。http代理的用处是有很多的,下面,小编就为大家讲述一下它的作用。
27
2019-05
互联网时代利用爬虫代理IP技术有何益处
在互联网时代大部分的工作都要通过互联网交易,尤其是一些代理程序问题,更要用到大量的爬虫编写或者频繁地更换ip地址,这些互联网工作程序所使用到爬虫代理技术的机会有很多。那么,
热门文章
注意: 严禁一切违规违法的业务,一经发现直接封帐号
Powered by wanchen tech. © | 粤ICP备18047396号-6 广州万宸软件科技有限公司http代理 版权所有