php抓取网页snoopy(:Snoopy是什么?的特点:方便抓取网页)

优采云 发布时间: 2021-11-02 02:02

  php抓取网页snoopy(:Snoopy是什么?的特点:方便抓取网页)

  内容

  []

  当你使用php并且想做一些采集任务时,那么你应该了解snoopy。

  史努比是什么?

  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。

  史努比的一些特点:

  * 方便抓取网页内容

  * 方便抓取网页文字内容(去除HTML标签)

  * 方便抓取网页链接

  * 支持代理主机

  * 支持基本的用户名/密码验证

  * 支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)

  * 支持浏览器转向,可控制转向深度

  * 可以将网页中的链接扩展为高质量的url(默认)

  * 方便提交数据和获取返回值

  * 支持跟踪 HTML 框架(v0.92 添加)

  * 支持再次重定向时传递 cookie(v0.92 增加)

  * 支持再次重定向时传递cookie

  要求:

  史努比需要 PHP 和 PCRE(Perl 兼容正则表达式),

  应该是 PHP 3.0.9 及更高版本。对于读取超时支持,它需要

  PHP 4 Beta 4 或更高版本。史努比是用 PHP 3.0.12.

  开发和测试的

  类方法:

  获取($URI)

  ——————

  这是用来抓取网页内容的方法。

  $URI 参数是被抓取网页的 URL 地址。

  获取的结果存储在 $this->results 中。

  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。

  fetchtext($URI)

  —————

  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的文本内容。

  fetchform($URI)

  —————

  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。

  fetchlinks($URI)

  —————-

  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。

  默认情况下,相对链接会自动补全并转换成完整的网址。

  提交($URI,$formvars)

  ———————-

  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。

  提交文本($URI,$formvars)

  ——————————

  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。

  提交链接($URI)

  —————-

  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。

  默认情况下,相对链接会自动补全并转换成完整的网址。

  类属性:(括号内为默认值)

  $host 连接的主机

  $port 连接的端口

  $proxy_host 使用的代理主机,如果有的话

  $proxy_port 使用的代理主机端口,如果有的话

  $agent 用户代理伪装(史努比 v0.1)

  $referer 传入信息,如果有的话

  $cookies cookies,如果有的话

  $rawheaders 其他头信息,如果有的话

  $maxredirs 最大重定向次数,0=不允许 (5)

  $offsiteok 是否允许异地重定向。 (真实)

  $expandlinks 是否完成所有链接以完成地址(真实)

  $user 认证用户名,如果有的话

  $pass 认证用户名,如果有的话

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线