php curl抓取网页内容(你的PHP代码并没有出错(1)_光明网(组图))
优采云 发布时间: 2021-10-25 08:15php curl抓取网页内容(你的PHP代码并没有出错(1)_光明网(组图))
用curl单独取是可行的,但是如果取一系列相同类型的网站会报错,把它们放在数组中
在 $linkList 中,分别以此类推。
function getJobsHubuNotice()
{
$curl = curl_init('http://jobs.hubu.edu.cn/List.aspx?ArticleChannelId=81');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
//内容处理
$result = strip_tags($result,'');
$result = stristr($result, 'nbsp当前位置:');
$result = str_replace('nbsp当前位置:', '', $result);
$result = stristr($result, '当前1/2页',true);
$result = stristr($result, '通知公告');
$result = str_replace('通知公告', '', $result);
preg_match_all('/(? 通知公告', '', $result);
$result = stristr($result, '$(document).ready',true);
$result = trim($result);
$result = str_replace("\r\n", '
', $result);
$result = preg_replace('/(\){1,}/', '
', $result);
echo $result;
echo '
';
echo "退出makePage函数";
return $result;
}
}
首先使用getJobsHubuNotice()函数获取新闻的链接、标题、日期,然后使用makePage()函数获取内容
这是在 makePage 中打印链接的结果。用浏览器打开链接没有问题。
您的 PHP 代码中没有错误。初步怀疑是你请求时传递的URL有误,如下图:
在你的代码中
错误输出实际上在你得到的网页上
输出的内容。
再次更新,我想我知道是什么导致了您的请求中的错误:
您从网页获取的URL地址为:Detail.aspx?ArticleChannelId=81&ArticleId=2777,
& 中的字符是 & 的 HTML 实体字符,在你的
输出时(即在您的屏幕截图中),它显示 &,当您发出真实请求时,将使用以下内容:
您只需要恢复它或简单地将 URL 中的 & 替换为 & 然后再次请求它。
再次更新:
<p>