【发布时间】:2016-05-23 19:27:25
【问题描述】:
我使用 Simple HTML DOM Parser 制作了一个从另一个站点获取内容的脚本。看起来像这样
include_once('simple_html_dom.php');
$html = file_get_html('http://csgolounge.com/'.$tradeid);
foreach($html->find('div[id=tradediv]') as $trade) {
$when = $trade->find('.tradeheader')[0];
}
我可能过于频繁地寻找内容(每 30 秒),现在我得到了空的 html。
我尝试像这样更改用户代理
$context = stream_context_create();
stream_context_set_params($context, array('user_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6\r\n'));
$html = file_get_html('http://csgolounge.com/profile?id='.$steamid, 0, $context);
但我仍然返回空 html。
【问题讨论】:
-
您的脚本可能已被此远程站点的细心管理员阻止
-
@Jeff 我该怎么办?
-
许多网站都有政策声明不允许您抓取他们的数据。也许您需要就合作协议与他们联系?
-
嗯,我敢肯定很多人都在抓取他们的数据,我只需要找到一种方法。现在我已经使用 cURL 获取 html。我可以以某种方式保存它,然后使用 Simple HTML DOM Parser 处理它吗?
-
当然,在响应中使用 str_get_html
标签: php user-agent simple-html-dom