我有这个卷曲代码,应该允许我从411.com获取文本。 当我在本地主机上使用wamp测试时,代码工作正常,但是当我在线测试时,我的错误连接超时了。
我的网站使用ssl。不确定这是否重要。
<?php
//$url = "http://www.411.com/phone/1-310-402-9829";
$url = "www.411.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36');
$output = curl_exec($ch);
if(curl_errno($ch))
{
echo 'error:' . curl_error($ch);
}
curl_close($ch);
function extract_unit($string, $start, $end)
{
$pos = stripos($string, $start);
$str = substr($string, $pos);
$str_two = substr($str, strlen($start));
$second_pos = stripos($str_two, $end);
$str_three = substr($str_two, 0, $second_pos);
$unit = trim($str_three); // remove whitespaces
return $unit;
}
$unit = extract_unit($output, '<span class="subtitle block pull-left">', 'in');
// Outputs: acronym
echo $unit;
?>
答案 0 :(得分:0)
这个问题是我的网站无法访问411.com。
我为curl添加了一个代理,然后我就能成功地抓取页面。
curl_setopt($ch, CURLOPT_PROXY, $proxy);