主要流程就是获取整个网页,然后正则匹配(关键的)。
php抓取页面的主要方法,有几种方法是网上前辈的经验,现在还没有用到的,先存下来以后试试。
1.file()函数
2.file_get_contents()函数
3.fopen()->fread()->fclose()模式
4.curl方式 (本人主要用这个)
5.fsockopen()函数 socket模式
6.插件(如:http://sourceforge.net/projects/snoopy/)
7.file()函数
2.使用方法实现,比较简单。
使用和fopen必须空间开启。方法:编辑php.ini,设置 ,allow_url_fopen关闭时fopen和都不能打开远程文件。
3.模式 ,目前还没用过,看到了就先记下了
4.使用curl实现(本人一般使用这个)。
使用curl必须空间开启curl。方法:windows下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需 要拷贝ssleay32.dll和libeay32.dll到C:WINDOWSsystem32下;Linux下要安装curl扩展。
5.函数 socket模式(没用过,以后可以试试)
socket模式能否正确执行,也跟服务器的设置有关系,具体可以通过phpinfo查看服务器开启了哪些通信协议
6.snoopy插件,最新版本是Snoopy-1.2.4.zip Last Update: 2013-05-30,推荐大家使用
使用网上非常流行的snoopy来进行采集,这是一个非常强大的采集插件,并且它的使用非常方便,你也可以在里面设置agent来模拟浏览器信息。
说明:设置agent是在 Snoopy.class.php 文件的第45行,请在该文件中搜索 “var 公式输入有误_SERVER['HTTP_USER_AGENT']; 可以得到浏览器信息,将echo出来的内容复制到agent里面就可以了。
以上就是掌握PHP 爬取网页的主要方法的详细内容!