作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试通过 Goutte 列表从流行的拍卖网络服务中抓取,但它们的部分代码是由 javascript 呈现的,问题是 Goutte 只返回没有 JS 作业的 DOM。因此,如果 symphony 是 headless 浏览器,是否可以等待抓取直到呈现完整内容?我检查了 phantomjs 哪里是正常的,但我从来没有在 Goute 中发现这种能力..
最佳答案
您可以使用 symfony/panther ( github/packagist ),这是一个 headless 浏览器,可以解释 javascript 并且已经支持 Symfony 5,加上是官方包!通常您会将其用于测试目的,但我认为您可能会得到想要的结果。
你应该用 Panther 替换你的 Goutte:
$client = \Symfony\Component\Panther\Client::createFirefoxClient();
然后告诉您的爬虫等待元素出现:
$crawler = $client->waitFor('#javascript-generated-element');
关于php - 刮 Goutte 并等待满载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47952446/
我是一名优秀的程序员,十分优秀!