0

M 试图在简单的 html dom 的帮助下从 URL 中抓取一些数据。但是当 id 启动我的爬虫时,它给出了一个错误

** 无法打开流:HTTP 请求失败!未找到 HTTP/1.1 404**

我试过 cUrl 但抛出 404 错误。

这是我的 php 简单 dom 代码

function getURLContent($url)
{
$html = new simple_html_dom();
$html->load_file($url);
    /* i perfome some opetions here*/
}

和卷曲

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
echo $data; 
curl_close($curl);

我怎么能这样做..?

提前致谢..

4

3 回答 3

0

将这些添加到您的代码中并尝试

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");
curl_setopt($ch, CURLOPT_HEADER, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //set headers
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // set true for https urls
于 2013-11-13T13:12:01.550 回答
0

404 错误很明显,找不到页面。尝试Fiddler捕获物理浏览器捕获所需的参数,并通过脚本中的 cURL 传递相同的参数。

如果您收到阻止错误页面,意味着尝试更改用户代理或使用代理地址(您可以轻松地在互联网上获得免费代理)或尝试在请求您的页面时维护会话,Fiddler 将帮助您。

于 2014-01-13T15:58:03.693 回答
0

是的,尝试配置用户代理

 curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
于 2013-11-13T11:22:12.273 回答