导航:首页 > 编程语言 > php抓取网页数据实例

php抓取网页数据实例

发布时间:2022-05-27 10:43:24

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

可以参考以下几种方法:

方法一: file_get_contents获取

<span style="white-space:pre"></span>$url="http://www..com/";

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

('http://www.hxfzzx.com/news/fzfj/');<span style="white-space:pre"></span>echo $fh;

拓展资料

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

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

2. 请问php怎样抓取其它网站的动态数据,显示在自己的网页内并同步更新。

刚吃完午饭吧,来帮你实现一下吧。记得加分哦。

$url = "http://www.boc.cn/sourcedb/whpj/";
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的数据是utf-8编码的,这一行可以注销,如果需要gbk编码的,请保留.如果出现乱码,就是一行的问题,你自己调着试吧
//echo $holder;exit; 此处可以输出来测试.
$html = str_replace(array("\n","\r","\t"),"",$html);
$preg = '/<table\s+width=\"800\"[^>]+>(.*?)<\/table>/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/<tr[^>]+>(.*?)<\/tr>/',$out[1][0],$tr);
//匹配每个td
$result = array();
$match = '/<td.+>([^<]+)<\/td>/U';
foreach( $tr[0] as $key => $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//输出测试,$result就是你要的数据,至于你要怎么输出显示格式,那就随心调就好了。
foreach( $result as $key => $value ){
echo implode("\t",$value);
echo "<br>";
}
exit;

3. PHP怎样抓取网页代码中动态显示的数据

你是想抓别人网页上ajax动态载入的数据吧?

1、要找到它的ajax载入的URL地址

2、利用PHP的file_get_contents($url)函数读取那个url地址。

3、对抓取到的内容进行分析或正则过滤。

4. PHP抓取网页指定内容

<?php
/*
* 如下: 方法有点笨
* 抓取网页内容用 PHP 的正则
* 用JS每隔5分钟刷新当前页面---即重新获取网页内容
*
* 注: $mode中--<title></title>-更改为所需内容(如 $mode = "#<a(.*)</a>#";>获取所有链接)
*
* window.location.href="http://localhost//refesh.php";中的http://localhost//refesh.php
* 更改为自己的URL----作用:即刷新当前页面
*
* setInterval("ref()",300000);是每隔300000毫秒(即 5 * 60 *1000 毫秒即5分钟)执行一次函数 ref()
*
* print_r($arr);输出获得的所有内容 $arr是一个数组 可根据所需输出一部分(如 echo $arr[1][0];)
* 若要获得所有内容 可去掉
* $mode = "#<title>(.*)</title>#";
if(preg_match_all($mode,$content,$arr)){
print_r($arr);
echo "<br/>";
echo $arr[1][0];
}
再加上 echo $content;
*/
$url = "http://www..com"; //目标站
$fp = @fopen($url, "r") or die("超时");

$content=file_get_contents($url);
$mode = "#<title>(.*)</title>#";
if(preg_match_all($mode,$content,$arr)){
//print_r($arr);
echo "<br/>";
echo $arr[1][0];
}
?>
<script language="JavaScript" type="text/javascript">
<--
function ref(){
window.location.href="http://localhost//refesh.php";
}
setInterval("ref()",300000);
//-->
</script>

5. php怎么抓取其它网站数据

可以用以下4个方法来抓取网站 的数据:

1. 用 file_get_contents 以 get 方式获取内容:
?

$url = 'http://localhost/test2.php';
$html = file_get_contents($url);
echo $html;

2. 用fopen打开url,以get方式获取内容
?

$url = 'http://localhost/test2.php';
$fp = fopen($url, 'r');
stream_get_meta_data($fp);
$result = '';
while(!feof($fp))
{
$result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);

3. 用file_get_contents函数,以post方式获取url
?

$data = array(
'foo'=>'bar',
'baz'=>'boom',
'site'=>'www.jb51.net',
'name'=>'nowa magic');

$data = http_build_query($data);

//$postdata = http_build_query($data);
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $data
//'timeout' => 60 * 60 // 超时时间(单位:s)
)
);

$url = "http://localhost/test2.php";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

echo $result;

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

$url = 'http://localhost/test2.php?site=jb51.net';
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;

6. 获取其他网页的数据(asp.net 完整代码) ,目前已经获取到html 如何解析完整案例最好,谢谢js也可以。

这种东西,最好还是整点书来看比较好:

精美网页特效设计技巧精粹

网页制作、网页图像处理、网页动画设计以及各种实用的特效制作等的方法与技巧,涵盖了网页版式设计、色彩设计、网页图形创意、网页图标设计、网页动画设计、网页字体设计、网页特效设计等。几乎涉及到了与网页相关的方方面面,全书内容丰富、自成体系、实例众多。

动态网页设计培训教程 动态网页设计培训教程

网页设计软件的使用方法和最新的网页设计技术。全书共分14章,分别介绍了网页设计的基础知识;超文本标记语言HTML,使用FrontPage 2000和Dreamweaver 3.0设计网页的要领;使用Photoshop 6.0 和ImageReady 3.0优化和处理WEB图像等内容。

JavaScript 动态网页经典实例教程

网页设计实例,介绍动态网页设计中的常用方法、重点和难点。这些实例包括了动态状态栏,动态文本框,应用时间,动态层,动态内容,动态位置,动态元素内容,滚动效果,动态页面导航,动态数据表单,动态表格等内容。读者对象该书适合于广大的网页设计从业人员,为动态网页开发设计中需要解决的实际问题提供 ...

网页美术设计入行实战(全彩)(含光盘1张) 网页美术设计入行实战(全彩)(含光盘1张)

网页美术设计行业分析;就业指导;小型商业网页设计;大型商业网站设计;通过实际工作的案例以及虚拟应用场景,将每个案例的使用环境描述出来,涉及了网页设计在实际应用中使用的软件Flash,Dreameaver的使用,网页制作的技巧,并对一些陌生的或不常用的功能做了提示性的说明与解析。有多个实际案例供参考;网页设计的经验 ..

网上筑巢--循序渐进设计网页

网页.包括输入文字后设置格式,使网页内容更加鲜明,增加图片使网页更加生动,增加声音让网页学会"说话"等.此外还介绍网页制作高手的很多决窍.本书的读者对象是准备上网或已经上网,但上网经验不足的初学者.

如果你真的想学习编程,那下面这些书是比不可少的。

JavaScript基础与实践教程

本书在介绍JavaScript相关知识的基础上,主要结合实例讲解JavaScript的实际应用。内容主要包括JavaScript语言的语法、 JavaScript面向对象的特性、调试JavaScript、JavaScript结合CSS应用于WEB编程、JavaScript的Dom编程、 JavaScript的基础应用、服务器端的应用、通过综合实例介绍JavaScript的高级应用。

边学边用JAVASCRIPT

JAVASCRIPT是实现网页动态性、交互性的脚本语言。本书通俗易懂,按照循序渐进的方法详细介绍了JAVASCRIPT的基本概念, HTML基本知识、JAVASCRIPT的基本语法及其内置对象和浏览器对象。书中对于每个知识点都配备了相应的实例,帮助读者加深理解。本书适合为 JAVASCRIPT初学者的培训教材,也可以作为中、高级网页编程 ...

网页样式设计――CSS使用详解 网页样式设计――CSS使用详解

CSS的基本概念、CSS属性、格式化模型以CSS单位等。此外,对于CSS的延伸扩展部分也做了全面的介绍,包括CSS定位技术、打印支持、框架结构、声音CSS滤镜变换效果等。书中附有大量实用例子帮助读者掌握和编写样式表单文档。本书内容翔实,深入浅出,是网络开发人员和网络爱好者的理想参考书。

网页制作全接触――HTML 4.0 & CSS 网页制作全接触――HTML 4.0 & CSS

CSS的内容,包括HTML 4.0各个标记的语法和属性,CSS各上属性的语法和属性值,同时介绍了两者在Dreamweaver中的实现,提供大量灵活使用HTML 4.0和CSS制作动态网页的实例。本书第一部分是590811及其应用,第二部分是CSS及其应用,附录中了JavaScript参考手册、CSS兼容性列表和字符实体集。

网页设计与制作――MX 2004(第2版)

网页制作套装软件Macromedia Studio MX2004中的网页制作三剑客为主要内容,介绍客户端网页的制作。全书共分9章,第1章网页制作基础,介绍与网页制作有关的基础知识;第2章至第5章介绍Dreamweaver MX2004的使用,其中穿插介绍CSS、JavaScript在网页中的应用;第6章和第7章介绍Fireworks MX2004的使用;第8章和第9章介绍F ...

精通ASP网络编程

ASP网络编程技术的实用教程。书中举例大量典型实用,综合了众多ASP程序员的实际开发经验。本书适合广大网络设计和开发人员以及对ASP感兴趣的编程爱好者阅读。

ASP开发实例(1CD)

ASP进行Web开发。主要内容有:ASP基本对象的使用,在ASP中使用第三方或自制的ActiveX控件,数据库对象的使用和设计,SQL语句的使用等。本书内容由浅入深,论述深入、全面,实例覆盖了ASP编程的大部分内容,每个实例着重介绍一个或几个知识要点。此外,还附有源程序代码多媒体光盘,帮助ASP爱好者快速深入地掌握ASP编程? ...

高校计算机教程系列 JSP实用教程

JSP运行环境的配置、JSP语法、JSP内置对象、JSP与文件、JSP与数据库、JSP与JavaBrsnd等内容;第7章至第8章介绍了怎样使用JSP技术创建完整的网站。第9章讲述Java Servlet,针对JSP与servlet结合开发网站做了详细的介绍

JSP实用案例教程

JSP)程序设计技术。主要内容包括:B/S开发模式和主流技术介绍,JSP编程基础,在Windows 2000/XP和Linux环境下JSP运行环境的配置过程,HTML与JSP的交互过程,JSP中的页面元素,编译指令和操作指令,JSP中常用的对象,JDBC,JavaBean,JSP的综合应用举例,Servlet的概念和使用,如何在JSP中应用XML,JSP的高级应用以及? ...

PHP与MySQL5程序设计(第2版)

PHP脚本语言和MySQL数据库这两种目前最流行的开源软件,主要内容包括PHP和MySQL基本概念、PHP扩展与应用库、日期和时间功能、 PHP数据对象扩展、PHP的mysqli扩展、MySQL 5的存储例程、触发器和视图等。本书实用性强,帮助读者学习PHP编程语言和MySQL数据库服务器的最佳实践,了解如何结合这些卓越的技术创建数据库驱动的 ...

7. php获取指定网页内容

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

<?php

$url='http://www.domain.com/test.php?id=123';

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

$data= http_build_query($data);

$opts=array(

'http'=>array(

'method'=>'POST',

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

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

'content'=>$data

)

);

$ctx= stream_context_create($opts);

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

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

<?php

$url='http://www.domain.com/?para=123';

$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 Cookie:cook1=c3;cook2=c4 " .

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

'content'=>$data

)

);

$context= stream_context_create($opts);

$html=fopen('http://www.test.com/zzzz.php?id=i3&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,'http://www.domain.com/');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,$timeout);

$file_contents= curl_exec($ch);

curl_close($ch);

echo$file_contents;

?>

8. php抓取网页指定的内容

我给你一个思路, 代码我也不会给的, 会被网络删的.

抓取网上的数据, 一般用正则去匹配. 你可以匹配开头为<div class="so_weather">的, 然后匹配结尾. 结尾尽量是这个开头div的下一个同级div, 如<div id="asda">, 这样. 然后得到的数据用strip_tags函数将html代码都去了, 得到的结果就是你想要的

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

1.file_get_contents
PHP代码

复制代码 代码如下:

<?php
$url = "http://www.jb51.net";
$contents = file_get_contents($url);
//如果出现中文乱码使用下面代码
//$getcontent = iconv("gb2312", "utf-8",$contents);
echo $contents;
?>

2.curl
PHP代码

复制代码 代码如下:

<?php
$url = "http://www.jb51.net";
$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 ("http://www.jb51.net", "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抓取网页数据实例相关的资料

热点内容
ada编译成dll 浏览:470
单片机代码跳掉 浏览:447
程序员谈薪水压价 浏览:861
荣耀10青春版支持方舟编译啊 浏览:158
最优估计pdf 浏览:826
androiddrawtext字体 浏览:669
c语言源编辑源程序编译 浏览:823
手里捏东西真的可以解压吗 浏览:267
编译原理画状态表 浏览:30
用echo命令产生下列输出 浏览:360
在内网如何访问服务器 浏览:961
java导入oracle数据库 浏览:135
坚朗内开内倒铝条算法 浏览:259
华为阅读新建文件夹 浏览:770
幻塔如何选择服务器 浏览:221
解压先把文件压到系统盘 浏览:823
access压缩和修复数据库 浏览:791
光纤交换机命令 浏览:513
白色桌放什么文件夹 浏览:296
分治算法思想 浏览:151