好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php抓取页面方法 php自动采集网页内容

很多站长朋友们都不太清楚php抓取页面方法,今天小编就来给大家整理php抓取页面方法,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php抓取网页源码方法 2、 php获取指定网页内容 3、 php获取网页源码内容有哪些办法 4、 php curl 抓取页面几种方法介绍 5、 PHP 如何获取到一个网页的内容 6、 如何通过php获取提交页面的URL? php抓取网页源码方法

可以使用file_get_content函数来获取源代码,你只需要把网站传入这个函数,获取后是一个字符串,你需要格式化代码就可以了

php获取指定网页内容

一、用file_get_contents函数,以post方式获取url

<?php

$url= '';

$data= array('foo'=> 'bar');

$data= http_build_query($data);

$opts= array(

'http'=> array(

'method'=> 'POST',

'header'=>"Content-type: application/x-www-form-urlencoded\r\n"  .

"Content-Length: "  . strlen($data) . "\r\n",

'content'=> $data

)

);

$ctx= stream_context_create($opts);

$html= @file_get_contents($url,'',$ctx);

二、用file_get_contents以get方式获取内容

<?php

$url='';

$html= file_get_contents($url);

echo$html;

?>

三、用fopen打开url, 以get方式获取内容

<?php

$fp= fopen($url,'r');

$header= stream_get_meta_data($fp);//获取报头信息

while(!feof($fp)) {

$result.= fgets($fp, 1024);

}

echo"url header: {$header} <br>":

echo"url body: $result";

fclose($fp);

?>

四、用fopen打开url, 以post方式获取内容

<?php

$data= array('foo2'=> 'bar2','foo3'=>'bar3');

$data= http_build_query($data);

$opts= array(

'http'=> array(

'method'=> 'POST',

'header'=>"Content-type: application/x-www-form-

urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n"  .

"Content-Length: "  . strlen($data) . "\r\n",

'content'=> $data

)

);

$context= stream_context_create($opts);

$html= fopen(';id2=i4','rb',false, $context);

$w=fread($html,1024);

echo$w;

?>

五、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

<?php

$ch= curl_init();

$timeout= 5;

curl_setopt ($ch, CURLOPT_URL, '');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents= curl_exec($ch);

curl_close($ch);

echo$file_contents;

?>

php获取网页源码内容有哪些办法

可以参考以下几种方法:

方法一: file_get_contents获取

<span style="white-space:pre"> </span>$url="";

<span style="white-space:pre"> </span>$fh= file_get_contents

('');<span style="white-space:pre"> </span>echo $fh;

方法二:使用fopen获取网页源代码

<span style="white-space:pre"> </span>$url="";

<span style="white-space:pre"> </span>$handle = fopen ($url, "rb");

<span style="white-space:pre"> </span>$contents = "";

<span style="white-space:pre"> </span>while (!feof($handle)) {

<span style="white-space:pre">  </span>$contents .= fread($handle, 8192);

<span style="white-space:pre"> </span>}

<span style="white-space:pre"> </span>fclose($handle);

<span style="white-space:pre"> </span>echo $contents; //输出获取到得内容。

方法三:使用CURL获取网页源代码

$url="";

$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';

$curl = curl_init(); //创建一个新的CURL资源

curl_setopt($curl, CURLOPT_URL, $url); //设置URL和相应的选项

curl_setopt($curl, CURLOPT_HEADER, 0);  //0表示不输出Header,1表示输出

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设定是否显示头信息,1显示,0不显示。//如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($curl, CURLOPT_ENCODING, ''); //设置编码格式,为空表示支持所有格式的编码

//header中“Accept-Encoding: ”部分的内容,支持的编码格式为:"identity","deflate","gzip"。

curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

//设置这个选项为一个非零值(象 “Location: “)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如 “Location: “的头)。

$data = curl_exec($curl);

echo $data;

//echo curl_errno($curl); //返回0时表示程序执行成功

curl_close($curl); //关闭cURL资源,并释放系统资源

拓展资料

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。

用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

参考资料:PHP(超文本预处理器)-百度百科

php curl 抓取页面几种方法介绍

使用代理进行抓取

为什么要使用代理进行抓取呢?以google为例吧,如果去抓google的数据,短时间内抓的很频繁的话,你就抓取不到了。google对你的ip地址做限制这个时候,你可以换代理重新抓。

 

 代码如下    

<?php

 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, "

);

 curl_setopt($ch, CURLOPT_HEADER, false);

 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);

 curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080);

 //url_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');如果要密码的话,加上这个

 $result=curl_exec($ch);

 curl_close($ch);

 ?>

PHP 如何获取到一个网页的内容

1.file_get_contents

PHP代码

复制代码 代码如下:

<?php

$url = "";

$contents = file_get_contents($url);

//如果出现中文乱码使用下面代码

//$getcontent = iconv("gb2312", "utf-8",$contents);

echo $contents;

?>

2.curl

PHP代码

复制代码 代码如下:

<?php

$url = "";

$ch = curl_init();

$timeout = 5;

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

//在需要用户检测的网页里需要增加下面两行

//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD);

$contents = curl_exec($ch);

curl_close($ch);

echo $contents;

?>

3.fopen->fread->fclose

PHP代码

复制代码 代码如下:

<?php

$handle = fopen ("", "rb");

$contents = "";

do {

$data = fread($handle, 1024);

if (strlen($data) == 0) {

break;

}

$contents .= $data;

} while(true);

fclose ($handle);

echo $contents;

?>

注:

1.

使用file_get_contents和fopen必须空间开启allow_url_fopen。方法:编辑php.ini,设置

allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。

2.使用curl必须空间开启curl。方法:windows下修改php.ini,将extension=php_curl.dll前面的分

号去掉,而且需要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安装curl扩

展。

如何通过php获取提交页面的URL?

在PHP的开发中我们经常会通过网址URL向另一个网页传递参数的问题。在这个过程中我们首先需要获取到当前页面的URL,然后将URL中各个参数的值保存到变量中。整个过程较为简单,主要涉及到$_SERVER的用法。

1、$_server['http_host'],作用:获取网址域名,如(,这是波波的一个博客,暂且做例子吧)。

2、$_SERVER["PHP_SELF"],作用:获取网页地址,如(/code/445.html)。

3、$_SERVER["QUERY_STRING"],作用:获取网址URL参数,待会我们会在实例中用到。

4、$_SERVER["HTTP_REFERER"],作用:获取用户的代理。

通过上述说明我们基本上已经了解了$_server的常用方法,下面我们首先通过PHP代码获取当前网页网址中传递的参数。对参数进行解析并输出到屏幕上。请看源代码:

<?php

$para=urldecode($_SERVER["QUERY_STRING"]);//避免网址参数中文乱码

//举例url=";b=bbbbc=cccc"

//$para='a=aaaab=bbbbc=cccc';

$cont=get_data($para);

echo$cont['a'];//屏幕打印aaaa

functionget_data($str){

$data=array();

$parameter=explode('',end(explode('?',$str)));

foreach($parameteras$val){

$tmp=explode('=',$val);

$data[$tmp[0]]=$tmp[1];

}

return$data;

}

?>

关于php抓取页面方法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php抓取页面方法 php自动采集网页内容的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did163639
更新时间:2023-02-11   阅读:56次

上一篇: 裁剪图片php代码 php 裁剪图片

下一篇:php删除指定目录文件 php删除当前目录

相关资讯

最新资料更新

  • 1.dedecms出现Please set request_order ini value to inc
  • 2.更改dedecms单页模块生成目录和链接的方法
  • 3.还原dedecms数据后系统基本参数空白的解决方法
  • 4.dedecms导航判断当前选中样式的方法
  • 5.解析织梦DedeCMS图片按月存放的实现方法
  • 6.详解dedecms使用整合阿里大鱼短信接口进行短信发送的教程
  • 7.DedeCms后台登录一片空白的解决方法
  • 8.如何让DEDE标签输出的指定栏目新窗口打开
  • 9.织梦dedecms数据库类$dsql使用方法步骤
  • 10.dedecms ERROR: Copy Uploadfile Error!上传图片失败解决方法
  • 11.dede调用其他栏目的文章或者缩略图列表且有分页效果的方法
  • 12.dedecms判断二级栏目为空不显示的方法
  • 13.dede:list调用body内容的实现方法(图文)
  • 14.浅析DedeCMS投票模块漏洞的解决方法
  • 15.dedecms文章内页获取缩略图的调用标签
  • 16.详解火车头采集器免登录采集数据发布到DEDECMS织梦的方法
  • 17.dedecms会员注册成功后直接跳转到验证的邮箱地址
  • 18.dede中统计栏目文章数的两种方法
  • 19.dedecms5.7后台发布文章提示“标题不能为空”的解决方法
  • 20.dedecms织梦自定义文件名之用拼音或英文标题的方法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]