php curl抓取网页内容(本文讲述的是如何用Curl模拟登陆?答案是什么? )

优采云 发布时间: 2021-10-27 07:02

  php curl抓取网页内容(本文讲述的是如何用Curl模拟登陆?答案是什么?

)

  本文介绍如何使用 Curl 抓取网页。原理与 PHP、Python、C 和 C# 相同。

  对于简单简单的页面,可以直接写一个程序来抓取。很简单,但是很多时候这是做不到的,因为可能会涉及到Cookie、Referer、表单、JS等一系列非常麻烦的操作,这时候就需要有效定位问题了。. 在类似的问题中,我看到最多的就是如何用Curl模拟登录?答案是:哈哈。

  对于更复杂的页面抓取,最有效的方法是 Chrome 的开发者工具(Firefox 应该也可以)。本文将通过一个例子来描述详细的过程。

  

  点击鼠标位置的Filter,中间位置的XHR是一个ajax请求。开发者工具有个很有趣的功能,看下图

  

  复制的curl命令行命令如下:

  curl "http://v.hao123.com/dianshi/" -H "Accept-Encoding: gzip,deflate,sdch" -H "Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4" -H "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "Cache-Control: max-age=0" -H "Cookie: BAIDUID=A5571E0790BFB2DBC44E4F27EFB2B7FD:FG=1; static=1; FLASHID=A5571E0790BFB2DBC44E4F27EFB2B7FD:FG=1; scrollflag=1414681499315; HUM=; HUN=; loc2=1"%"7C"%"E5"%"8C"%"97"%"E4"%"BA"%"AC"%"7C"%"E5"%"8C"%"97"%"E4"%"BA"%"AC; mtip=0; Hm_lvt_f60abe83e86964c3e30ba20fa7dc2709=1414680909,1414823686; Hm_lpvt_f60abe83e86964c3e30ba20fa7dc2709=1414823686" -H "Connection: keep-alive" --compressed

  什么是curl命令行以及如何自己使用谷歌。执行后会输出采集的页面。

  

  

  没有将 curl 命令行转换为 php 语法、python 语法、c 语法或任何其他语言语法的技术内容。例如,以PHP为例:

  -H 参数对应 CURLOPT_HTTPHEADER

  curl_setopt(CURLOPT_HTTPHEADER,$ch,array("Accept-Encoding: gzip,deflate,sdch","Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4","User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36","Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","Cache-Control: max-age=0",....));

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线