php抓取网页源码(php抓取网页源码的方法:1、下载一个抓包工具)
优采云 发布时间: 2022-02-14 02:03php抓取网页源码(php抓取网页源码的方法:1、下载一个抓包工具)
php抓取网页源码的方法:
1、下载一个抓包工具这个我推荐使用网页抓包王,它有免费版,一般人够用了,操作非常方便。使用网页抓包王不仅可以发现网页的被监控的url地址,还可以抓住响应的header,成功率可以说是99%以上。但是缺点是,这个抓包工具的能力非常有限,如果想发现网页某个部分存在被查找的可能性,还需要另寻工具。
2、使用高级浏览器技术刚刚我们已经发现网页被监控的url地址,这时就可以使用带会员功能的浏览器或者php抓包工具来查看网页的真实请求。一般php抓包工具会自带一个自动化发送请求的功能,并且对网页进行http取反,从而识别网页的请求方法。这时我们可以使用一些开源的http抓包工具,如phpstorm、wireshark等。
3、手动发送requestform给网页抓包工具,从而拿到request请求地址,然后通过解析header可以识别http请求的方法。该方法成功率可以说非常有限,大多数浏览器一般不支持该方法。不过有少数浏览器能接受通过http的加密header表示,如geckohttpmetricsproxy。另外,当抓包工具支持request请求时,不可能抓取直接请求的httpheader中的方法,这点要注意。
4、使用php代理发起http请求但对于爬虫等网站页面存在敏感数据的网站,除了用php代理发送request之外,
1)使用第三方的websocket框架来进行代理发送request给搜索引擎,从而拿到返回内容。例如google的websocket框架或facebook的websocket,目前websocket框架的成功率也非常有限。另外值得一提的是,urllib和php代理虽然可以进行快速发送request,但一般也需要处理大量的响应,并且对网站有一定要求。
2)一些php代理服务器可以抓取网页某些响应内容,或者认证/dom/token等信息,例如谷歌的阿里云代理。不过这些服务器一般只会抓取http请求的header部分,不对响应中的accept和http的accept-language等做header的处理,会出现大量解析错误,并且非常耗时,因此速度是比较慢的。这点跟第2条一样,选择的服务器有一定要求。
3)请求重定向,例如给输入的地址再次发一个请求(./game.php地址)。发起请求会自动切换到加载后的网页;并且匹配的httpheader部分也匹配前端网页。例如,我们抓取某个店铺的数据,因为是使用浏览器发送请求而进行的重定向,这里可以抓取到前端网页,这样就不需要再次请求服务器了。
4)使用代理页面下载器可以通过分析页面源代码的方式来识别是否存在查找url。以下是一个抓取阿里云数据库的例子,