php可以抓取网页数据吗(PHP获取远程网页内容的代码(fopen,)的相关知识和一些Code实例)

优采云 发布时间: 2021-11-20 01:07

  php可以抓取网页数据吗(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 (compatible ; 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好很多。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线