php curl抓取网页内容(你的PHP代码并没有出错(1)_光明网(组图))

优采云 发布时间: 2021-10-25 08:15

  php 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>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线