tenliu的爬虫-抓包分析

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

抓包的作用

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

  • 分析请求的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
抓取这个链接进行数据提取,不是比原页面简单些吗。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值