您的位置:首页 > 新闻资讯 >文章内容
爬虫怎么获取Ajax请求的信息
来源:互联网 作者:admin 时间:2019-02-13 10:09:00

    我们在搜索某一关键词的信息后,服务器只会向我们返回少量的数据,但当我们再次向下刷新的时候,会再次通过Ajax请求返回指定数目的数据。比如当浏览器的滚动条触底时,再次提取数据。这就产生了一个问题,爬虫怎么获取Ajax请求的信息?


    什么是Ajax


    Ajax,异步的JavaScript和XML。它不是一门编程语言,而是利用JavaScript在保证页面不刷新,页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。


    比如百度搜索,在搜索框输入几个关键词,会发现下面会有一系列的文字;还有微博下拉会出现正在加载中,请稍后;这些都是Ajax加载的过程。


    爬虫怎么获取Ajax请求的信息


    我们就是利用Python来模拟这个过程,我们会使用requests库来发送请求,然后再将返回内容进行解析。


    1.分析请求


    打开Ajax的XHR过滤器,然后一直滑动页面以加载新的微博内容。可以看到,会不断有Ajax请求发出。


    选定其中一个请求,分析它的参数信息。点击该请求,进入详情页面,如下图所示。


爬虫怎么获取Ajax请求的信息


    可以发现,这是一个GET类型的请求,请求链接为[https://m.weibo.cn/api/container/getIndex?type=uid&value=2830678474&containerid=1076032830678474&page=2)。请求的参数有4个:type、value、containerid和page。


    随后再看看其他请求,可以发现,它们的type、value和containerid始终如一。type始终为uid,value的值就是页面链接中的数字,其实这就是用户的id。另外,还有containerid。可以发现,它就是107603加上用户id。改变的值就是page,很明显这个参数是用来控制分页的,page=1代表第一页,page=2代表第二页,以此类推。


    2.分析响应


    随后,观察这个请求的响应内容,如下图所示。


爬虫怎么获取Ajax请求的信息


    这个内容是JSON格式的,浏览器开发者工具自动做了解析以方便我们查看。可以看到,最关键的两部分信息就是cardlistInfo和cards:前者包含一个比较重要的信息total,观察后可以发现,它其实是微博的总数量,我们可以根据这个数字来估算分页数;后者则是一个列表,它包含10个元素,展开其中一个看一下,如下图所示。


爬虫怎么获取Ajax请求的信息


    可以发现,这个元素有一个比较重要的字段mblog。展开它,可以发现它包含的正是微博的一些信息,比如attitudes_count(赞数目)、comments_count(评论数目)、reposts_count(转发数目)、created_at(发布时间)、text(微博正文)等,而且它们都是一些格式化的内容。


    这样我们请求一个接口,就可以得到10条微博,而且请求时只需要改变page参数即可。


    这样的话,我们只需要简单做一个循环,就可以获取所有微博了。


    以上就是爬虫怎么获取Ajax请求的信息的介绍。爬虫在采集数据中,需要使用到代理来突破限制,可以选用代理精灵,数据采集服务服务提供商,我们拥有高品质爬虫代理,遍布全国200+城市服务器,从容应对海量IP需求,我们从不吝惜产品质量,为确保您获得最佳体验,我们选择与国内最值得信赖的运营服务商进行深度合作,提供更快,更可靠的服务。


相关文章内容简介
推荐阅读
  • 12 2019-06
    网上公开的免费代理ip隐患多

    网上公开的免费代理ip隐患多,虽然如此,但是依然有很多人在使用,这是为何呢?

  • 02 2019-09
    代理IP用第三方检测工具为什么失灵?

    购买了代理IP服务,为了检测IP的可用性,大家都会喜欢用工具去检测一下IP是否有效。但是有时候,在用工具检测的时候,会发生显示IP无效的情况,那么这种情况,真的是代理IP的锅吗?

  • 24 2019-05
    代理服务器正向和反向的定义分析

    代理服务器还分正向代理和反向代理的,这正向和反向,一听起来就是相反的,它们之间有什么不同的,机灵代理下面就为大家揭晓下代理服务器正向和反向的定义分析。

  • 30 2020-03
    用代理ip被封要看匿名度

    随着网络的使用范围不断加大,很多人由于网络限制问题,选择了代理IP,但还是被封帐号,甚至自己的真实IP也被封。这是为什么呢?

  • 21 2019-11
    手机设置线程IP教程

    现在使用代理IP的设备手机端的数量已经呈现出超出电脑端的迹象了,如果每用一个IP就要手动切换一次,这样岂不是很麻烦吗?线程IP池就可以解决这个困扰。

  • 05 2019-09
    详解动态IP的优点与缺点

    动态IP与静态IP相对应,所谓的动态指的是每次上网,电信就会随机分配一个IP地址。在用代理IP的时候,自然也有动态IP与静态IP两种选择,那么今天先来说说动态IP的优点与缺点。

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部