美文网首页
tenliu的爬虫-抓包分析

tenliu的爬虫-抓包分析

作者: tenliu的简书 | 来源:发表于2018-01-20 09:54 被阅读0次

    利用浏览器抓包,是爬虫中的很实用的技能。在爬虫编程之前,我们要对抓取的目标页面有所了解,比如浏览器的这个请求这个页面中间都经历了什么,数据是怎么发送和返回的。

    抓包的作用

    我把抓包分析的作用简单列一下:

    • 分析请求的headers等等,可以加载到你的爬虫中,伪装成浏览器。往往可以躲过简单的反扒策略
    • 登录状态获取,如果我们在浏览器中登录,抓包拿到cookies,加到我们的爬虫中,往往就可以绕过登录这道坎,爬虫直接登堂入室,抓取更有价值的数据
    • post请求,例如页面中通过post提交的表单。我们就可以抓包看到请求是每个参数的key和value,key是什么、value有没有编码等等
    • 抓接口,抓包往往可以看到服务器返回到浏览器的的响应数据是什么,比如很多页面中的数据,其实是中间经过一次接口的,接口中往往是json数据。这样爬虫就可以直接抓接口,而不是原网页。json数据中比页面解析提取数据来的遍历
    • 抓包分析,有时可以绕过有些网站的反扒限制,甚至网站的验证码(极少其概况下啊)
    • ···

    如何抓包

    案例一

    浏览器例如Chrome、Firfox都支持抓包,我们以Chrome浏览器为例吧,要有一个抓包的页面啊
    http://www.tenliu.top/index.php/httpclient/?query=%E4%B8%AD%E5%9B%BD%202018%20%E8%8A%82%E5%81%87%E6%97%A5
    浏览器中输入这个链接,页面空白处,右键“检查”,点击“network”,再次刷新页面,看到如下:

    爬虫抓包分析

    看似访问一个页面,其实中间进过怎么多请求。
    其中左侧,每一个请求的Headers标签中内容如下四个部分:

    • General
    • Response Header
    • Request Headers
    • Query
      其中重点在请求的headers,将里面的数据设置到你的爬虫,就可以伪装爬虫,通常设置Cookie、Host、User-Agent、Referer等。

    案例二

    post请求的抓包。
    还是这个页面:

    http://www.tenliu.top/index.php/httpclient/

    我们看到有一个表单,可以post数据。在两个输入框填入内容点击提交吧,抓包看看,都是什么参数接受了你填写的内容。

    案例三

    抓包,获取接口。
    这个页面
    http://www.2345.com/corp.htm?innertab
    想要获取这个页面上的各个行业和相应网址。抓取这个链接,提取页面元素。不论是用正则、xpath、beautifulsoup等等。有更好的办法吗?
    抓包看看

    爬虫抓包分析2

    通过抓包,我们得到接口:
    http://www.2345.com/js/nvaurllist1202.js?v=8.13.1
    抓取这个链接进行数据提取,不是比原页面简单些吗。

    更多内容请访问我的个人博客www.tenliu.top

    相关文章

      网友评论

          本文标题:tenliu的爬虫-抓包分析

          本文链接:https://www.haomeiwen.com/subject/mrhooxtx.html