php 循环抓取网页内容(PHP获取远程网页内容的代码(fopen,)的相关知识和一些Code实例)
优采云 发布时间: 2022-04-13 09:33php 循环抓取网页内容(PHP获取远程网页内容的代码(fopen,)的相关知识和一些Code实例)
你想知道PHP获取远程网页内容的代码相关内容吗(fopen、curl已经测试过了)?在本文中,我将为您讲解远程网页的相关知识和一些代码示例。欢迎阅读和指正。我们先来关注一下:fopen、curl,一起来学习吧。
1、fopen 的使用
复制代码代码如下:
复制代码代码如下:
// 以下代码可用于 PHP 5 及以上版本
但是上面的代码很容易出现开流失败:HTTP request failed!错误,解决方法
有人说在php.ini中有两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示使用哪个脚本访问网络,还有一个" ;" 默认在它前面。是的。)重新启动服务器。
但他们中的一些人仍然有这个警告信息。距离完美解决方案还有一步之遥。您必须在 php.ini 中设置 user_agent。php的默认user_agent是PHP,我们改成Mozilla/4.0(兼容Mozilla/4.0)。; MSIE 6.0; Windows NT 5.0) 模拟浏览器
<IMG src="http://files.jb51.net/upload/201106/20110606090106493.gif" border=0>
user_agent="Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.0)"
工作中遇到这个问题,完美解决了,分享给大家。
2、由 curl 实现
复制代码代码如下:
linux下,可以使用以下代码下载
exec("wget {$url}");
PHP抓取外部资源函数fopen/file_get_contents/curl的区别
fopen/file_get_contents 会为每个请求重新做 DNS 查询,并且不缓存 DNS 信息。
但是 CURL 会自动缓存 DNS 信息。对同一域名下的网页或图片的请求只需要一次 DNS 查询。
这大大减少了 DNS 查询的数量。
所以 CURL 的性能比 fopen/file_get_contents 好很多。