网页抓包
首先对于网页爬虫来说怎么抓包呢?很简单,我们直接在网页上右键点击检查或者快捷键 F12 就可以进入开发者调试工具。如果页面是经过请求接口而返回的数据的话,在 Network 中,它就会产生请求的数据,我们在这里都能捕捉到。
我们还是以之前的 P 站为例,我们点开一个接口,这个接口分为两部分,一个是请求的数据,一个是返回的数据,请求的信息主要在 Headers 里面,它主要有以下几部分,第 1 部分,General 里面主要包含了请求的链接 URL 以及他的请求方式,用的多的就是 get 和 post 了,还有请求状态码,200 表示请求接口成功。
我们来看一下 Request Headers 请求头的信息,我讲一下请求头里很重要的几个请求参数。
第一个是 Cookie,什么是cookie呢?Cookie是网站储存用户的相关的加密数据,这些数据是网站为了识别用户的身份,第一次登录的时候,你的 cookie 信息会被返回并且被网站服务器保存,请求第二个页面的时候,请求信息会带上 cookie,这样网站就能识别用户身份。当然,Cookie储存是有时效的,超过规定的时候后,cookie就失效了,网站会让你重新登录重新获取新的 cookie。所以对于需要登录才能看到数据的网站,请求接口时 cookie 参数是必须要给出的,不然就无法请求数据。
第 2个 请求参数是:Referer,这个参数是告诉网站服务器,你是从哪个页面跳转过来的,如果这个参数为空或者网址不是服务器白名单的网址,那服务器可能很快就判断你是异常请求或者爬虫了。
第 3 个比较重要的就是 user-agent,是网站用来检测你的请求是人为的还是真实的浏览器行为,我们加入 user-agent 就是为了模拟成真实的浏览器,从而“骗”过网站服务器,你不加的话,就相当于在你在人家服务器里“裸奔”,你说你在别人家地盘搞颜色,服务器不封你封谁呢?
最后是 query string parameters,因为我们这个是 get 请求,这些参数也就是请求 url 里问号后面要带的参数