【发布时间】:2020-11-05 15:24:37
【问题描述】:
我需要你的帮助,谁能解释一下为什么我的代码在 zoho.com 网站上找不到 a-tag 隐私?
我的代码在其他网站上很好地找到了“隐私”链接,但在 zoho.com 网站上却没有
我使用 symfony 爬虫:https://symfony.com/doc/current/components/dom_crawler.html
// Imprint Check //
function findPrivacy($domain) {
$ua = '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';
$curl = curl_init($domain);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl, CURLOPT_USERAGENT, $ua);
$data = curl_exec($curl);
$crawler = new Crawler($data);
$nodeValues = $crawler->filter('a')->each(function ($node) {
if(str_contains($node->attr('href'), 'privacy-police') || str_contains($node->attr('href'), 'privacy')) {
return true;
} else {
return false;
}
});
return $nodeValues;
}
如果您查看 zoho.com 的源代码,您会看到页脚是空的。但是在网站上,如果向下滚动,页脚不会为空。
我现在怎样才能找到这个链接隐私?
【问题讨论】:
-
隐私警察?除了页脚之外,大部分内容都是由 js(php 不会渲染)在这个文件中添加的 zohowebstatic.com/sites/all/themes/zoho/scripts/zohocustom.js 使用 puppeteer 来代替你的抓取
-
Symfony panther 与
DomCrawler具有相同的界面,但通过可以运行javascript 的WebDriver 运行一个成熟的浏览器。
标签: php symfony web-crawler