编写天气预报或RSS订阅程序时,往往需要捕获非本地文件。 通常,它利用php模拟浏览器访问,通过http请求访问url地址并获取html源代码和xml数据。 要获得数据,不能直接输出。 在许多情况下,需要提取内容并对其进行格式设置,以便以更易于使用的方式发布。
简述php抓取页面的几种方法和原理:
一. PHP抓取页面的主要方式:
1 .文件(函数
2. file_get_contents ()函数
3.fopen(-fread )-fclose )模式
4.curl方式
5. fsockopen ()函数套接字模式
6 .使用插件(例如: http://source forge.net/projects/snoopy/) ) ) ) ) ) ) )。
二、PHP解析html或xml代码的主要方法:
1 .文件(函数? php $url='http://t.qq.com '; $lines_array=file($URL; $lines_string=implode (',$lines_array ); echohtmlspecialchars ($ 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; echohtmlspecialchars ($ 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 ); close($handle; echohtmlspecialchars ($ lines _ string );
4. curl方式
要使用curl,必须在空间中打开curl。 如何:在windows上修改php.ini,消除extension=php_curl.dll前面的分号,将ssleay32.dll和libeay32.dll改为c : windows syndows ? 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; echohtmlspecialchars ($ lines _ string );
5. fsockopen ()函数套接字模式
套接字模式能否正确运行还与服务器的设置有关。 具体来说,可以通过phpinfo确认服务器打开了哪个通信协议。 例如,我的本地PHP套接字没有打开http,所以只能用udp进行测试。 PHP $ FP=fsockopen (' UDP ://127.0.0.1 ',13,$errno,$errstr ); if (! $fp () { echo 'ERROR: $errno - $errstr
n'}else{fwrite,'n'}echofread,$FP,26,fclose,$FP}
想学习交流PHP的朋友,请关注小编。 私信【学习交流】手机用户可以直接私信。 电脑方面还没有开放这个功能。 需要下载APP。 我已经设定了自动回复。 具体来说,之后会自动回复大家。
本文仅从代表者个人的观点,不代表SEO研究协会的网络官方的声音。 如果对观点有疑义,请首先联系作者本人进行修改。 内容违法时请联系平台管理员,邮箱cxb5918@163.com。 如欲了解更多信息,请访问巨推学院www.jutuiedu.com,在SEO研究协会www.seoxiehui.cn学习网络营销技术。