首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php curl抓取动态加载网站

问使用php curl抓取动态加载网站
EN

Stack Overflow用户
提问于 2018-03-01 12:04:20
回答 1查看 3.5K关注 0票数 0

我是新刮和已经正式报废了两个网站。但当我试图抓取动态加载网站时,这个问题就出现了。当网站是用JavaScript呈现,我无法刮刮该网站的内容然后。

我是否可以使用php curl或其他与PHP相关的客户端来浏览该网站的内容?

这就是我到目前为止所做的:

​

代码语言:javascript
复制
$link = "https://www.glassdoor.com/Job/jobs.htm?suggestCount=0&suggestChosen=false&clickSource=searchBtn&typedKeyword=android+developer&sc.keyword=android+developer&locT=N&locId=192&jobType=";

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_URL,$link);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
$data = curl_exec($ch);


$document = new DOMdocument();
libxml_use_internal_errors(true);
$document->loadHTML($data);
$elements = $document->getElementsByTagName("div");

foreach($elements as $element){
  	echo $element->nodeValue."<br>";;
}

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-14 07:57:19

为此您需要使用无头浏览器,您可以为PhantomJS使用PHP包装器,下面是链接http://jonnnnyw.github.io/php-phantomjs/。这会解决你的问题。它具有以下特点:

  • 通过PhantomJS无头浏览器加载网页
  • 查看详细的响应数据,包括页面内容、标题、状态代码等。
  • 手柄重定向
  • 查看javascript控制台错误

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49049382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档