background image

PHP 入门:php 数据采集

这里介绍两个 php 采集能用到的好工具。一个是 Snoopy,一个是 simple_html_dom。采集还
有很多方式(其实本质就 2-3 种,其他的都是衍生的),php 自带了几个方法也能直接进
行采集。但是,出于把懒惰进行到底的精神。我们还是可以通过这两个工具,让采集变得
更简单。

网上有不少介绍 Snoopy 的,下面是别人翻译的 Snoopy 的 SDK
//////////////////////////////////////////////////////////////
Snoopy 是一个 php 类,用来模拟浏览器的功能,可以获取网页内容,发送表单。

Snoopy 的一些特点:

1

 

抓取网页的内容 fetch

2

 

抓取网页的文本内容 (去除 HTML 标签) fetchtext

3

 

抓取网页的链接,表单 fetchlinks fetchform

4 支持代理主机
5 支持基本的用户名/密码验证
6

 

支持设置 user_agent, referer(来路), cookies   

和 header content(头文件)

7 支持浏览器重定向,并能控制重定向深度
8 能把网页中的链接扩展成高质量的 url(默认)
9 提交数据并且获取返回值
10 支持跟踪 HTML 框架
11 支持重定向的时候传递 cookies
要求 php4

 

以上就可以了 由于本身是 php

 

 

一个类 无需扩支持 服务器不支持 curl 时候的最

好选择,
类方法:
fetch($URI)
———–
这是为了抓取网页的内容而使用的方法。
$URI 参数是被抓取网页的 URL 地址。

 

抓取的结果被存储在 $this->results 中。
如果你正在抓取的是一个框架,Snoopy 将会将每个框架追踪后存入数组中,然后存入 
$this->results。
fetchtext($URI)
—————
本方法类似于 fetch(),唯一不同的就是本方法会去除 HTML 标签和其他的无关数据,只
返回网页中的文字内容。
fetchform($URI)
—————
本方法类似于 fetch(),唯一不同的就是本方法会去除 HTML 标签和其他的无关数据,只
返回网页中表单内容(form)。
fetchlinks($URI)
—————-
本方法类似于 fetch(),唯一不同的就是本方法会去除 HTML 标签和其他的无关数据,只
返回网页中链接(link)。