不能用Goutte Laravel包刮这个网站。元素存在于视图源中



我正在用Laravel Goutte Package构建一个抓取工具https://github.com/FriendsOfPHP/Goutte我已经能够抓取大多数网站,直到我遇到这个网站http://www.bhutanpost.bt/,我需要抓取。

我怀疑的问题是该站点的字符集为UTF-7,返回的xml与"查看源"中显示的不一样。我试图抓取的元素确实存在于视图源中,所以我可以说它们不是由JS动态拉出的。

任何帮助都将非常感谢。

我翻了一遍,发现了一个肮脏的修复,问题是DomCrawler的loadHtml函数,它在parseXhtml函数内。当meta标签没有明确定义loadHtml会导致问题,所以这里是我的修复:

$dom->loadHTML('<meta http-equiv="Content-Type" content="text/html; charset='.$charset.'">'.$htmlContent);

我在HTML内容之前添加了元信息。

最新更新