首页 > php教程 > php手册 > 正文

PHP实现抓取页面与代码解析

php中文网
发布: 2016-06-06 19:59:32
原创
2370人浏览过

1. 正则表达式 2. PHP DOMDocument对象 3. 插件(如:) 如果你对以上内容已经很了解,以下内容可以飘过…… PHP抓取页面 1. file()函数 ?php $url='http://t.qq.com'; $lines_array=file($url); $lines_string=implode('',$lines_array); echo htmlspecialch

  1. 正则表达式 2. PHP DOMDocument对象 3. 插件(如:)
  如果你对以上内容已经很了解,以下内容可以飘过……
  PHP抓取页面

  1. file()函数

 <?php $url='http://t.qq.com'; 
     $lines_array=file($url); 
     $lines_string=implode('',$lines_array); 
     echo htmlspecialchars($lines_string); 
 ?> 
登录后复制

   2. file_get_contents()函数使用file_get_contents和fopen必须空间开启allow_url_fopen.方法:编辑php.ini,设置 allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。

<?php 
登录后复制
  $url='http://t.qq.com'; 
  $lines_string=file_get_contents($url); 
  echo htmlspecialchars($lines_string); 
?> 
登录后复制

   3. fopen()->fread()->fclose()模式

<?php 
		$url='http://t.qq.com'; 
		$handle=fopen($url,"rb"); 
		$lines_string=""; 
		do{ 
		$data=fread($handle,1024); 
		if(strlen($data)==0){
			break;
		} 
		$lines_string.=$data;
		}while(true);
		fclose($handle); 
		echo htmlspecialchars($lines_string); 
?> 
登录后复制

   4. curl方式使用curl必须空间开启curl.方法:windows下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需 要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安装curl扩展。

	<?php 
		$url='http://t.qq.com'; 
		$ch=curl_init(); 
		$timeout=5; 
		curl_setopt($ch, CURLOPT_URL, $url); 
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
		$lines_string=curl_exec($ch); 
		curl_close($ch); 
		echo htmlspecialchars($lines_string); 
?> 
登录后复制

   5. fsockopen()函数 socket模式socket模式能否正确执行,也跟服务器的设置有关系,具体可以通过phpinfo查看服务器开启了哪些通信协议,比如我的本地php socket没开启http,只能使用udp测试一下了。

eSiteGroup站群管理系统1.0.4
eSiteGroup站群管理系统1.0.4

eSiteGroup站群管理系统是基于eFramework低代码开发平台构建,是一款高度灵活、可扩展的智能化站群管理解决方案,全面支持SQL Server、SQLite、MySQL、Oracle等主流数据库,适配企业级高并发、轻量级本地化、云端分布式等多种部署场景。通过可视化建模与模块化设计,系统可实现多站点的快速搭建、跨平台协同管理及数据智能分析,满足政府、企业、教育机构等组织对多站点统一管控的

eSiteGroup站群管理系统1.0.4 0
查看详情 eSiteGroup站群管理系统1.0.4

立即学习PHP免费学习笔记(深入)”;

<?php 
		$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr); 
		if (!$fp) { 
			echo "ERROR: $errno - $errstr\n"; 
		} 
		else { 
			fwrite($fp, "\n"); 
			echo fread($fp, 26); fclose($fp); 
		} 
?> 
登录后复制

 6. 插件网上应该有比较多的插件,snoopy插件是在网上搜到的,有兴趣的可以研究一下。
 PHP解析xml(html)
  1. 正则表达式:

<?php 
		$url='http://t.qq.com'; 
		$lines_string=file_get_contents($url); 
		eregi('',$lines_string,$title); 
		echo htmlspecialchars($title[0]); 
?> 
登录后复制

   2. PHP DOMDocument()对象如果远程的html或xml存在语法错误,php在解析dom的时候会报错。

<?php 
		$url='http://www.136web.cn'; 
		$html=new DOMDocument(); 
		$html->loadHTMLFile($url); 
		$title=$html->getElementsByTagName('title'); 
		echo $title->item(0)->nodeValue; 
?> 
登录后复制

   3. 插件本文以PHP Simple HTML DOM Parser为例,进行简单介绍,simple_html_dom的语法类似jQuery,它让php操作dom,就像使用jQuery操作dom一样的简单。

<?php 
		$url='http://t.qq.com'; 
		include_once('……/simplehtmldom/simple_html_dom.php'); 
		$html=file_get_html($url); $title=$html->find('title'); 
		echo $title[0]->plaintext; 
?>
登录后复制


 

相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号