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

优采云 发布时间: 2022-03-10 17:21

  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,'<a>');

$result = stristr($result, 'nbsp当前位置:');

$result = str_replace('nbsp当前位置:', '', $result);

$result = stristr($result, '当前1/2页',true);

$result = stristr($result, '通知公告');

$result = str_replace('通知公告</a>', '', $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&amp;ArticleId=2777,

  

  其中&amp;字符是&amp;的HTML实体字符,当你输出的时候(也就是在你的截图中),它显示&amp;,而当你去真正的请求时,它使用了下面的东西:

  

  您只需要恢复它,或者简单地将URL中的&amp;替换为&amp;,然后转到请求就可以了。

  再次更新:

<p>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线