仓酷云

标题: PHP网页编程之php snoopy收罗类先容 [打印本页]

作者: 蒙在股里    时间: 2015-1-16 22:10
标题: PHP网页编程之php snoopy收罗类先容
在一个团队之中或者说是在一个公司的工作岗位上,需要注重团队之间的交流合作;在学习或工作上都要端正自己的态度,要以认真的态度来对每件事,这样才能让自己更快的投入、更快的学习,而不至于浪费自己的时间。Snoopy是一个用来摹拟扫瞄器的一些复杂功效的php类,能够猎取网页内容,发送表单等操纵。Snoopy准确运转必要你的服务器的PHP版本在4以上,而且撑持PCRE(PerlCompatibleRegularExpressions),基础的LAMP服务都撑持。因为它自己是php一个类,无需扩撑持,因而在服务器不撑持curl的时分是最好的选择。
Snoopy的特性:
1、抓取网页的内容fetch
2、抓取网页的文本内容(往除HTML标签)fetchtext
3、抓取网页的链接,表单fetchlinksfetchform
4、撑持代办署理主机
5、撑持基础的用户名/暗码考证
6、撑持设置user_agent,referer(去路),cookies和headercontent(头文件)
7、撑持扫瞄重视定向,并能把持重定向深度
8、能把网页中的链接扩大成高质量的url(默许)
9、提交数据而且猎取前往值
10、撑持跟踪HTML框架
11、撑持重定向的时分传送cookies
Snoopy类的下载地点:http://sourceforge.net/projects/snoopy/
Snoopy类办法:
fetch($URI)
这是为了抓取网页的内容而利用的办法。$URI参数是被抓取网页的URL地点。抓取的了局被存储在$this->results中。假如你正在抓取的是一个框架,Snoopy将会将每一个框架追踪后存进数组中,然后存进$this->results。
fetchtext($URI)
本办法相似于fetch(),独一分歧的就是本办法会往除HTML标签和其他的有关数据,只前往网页中的笔墨内容。
fetchform($URI)
本办法相似于fetch(),独一分歧的就是本办法会往除HTML标签和其他的有关数据,只前往网页中表单内容(form)。
fetchlinks($URI)
本办法相似于fetch(),独一分歧的就是本办法会往除HTML标签和其他的有关数据,只前往网页中链接(link)。默许情形下,绝对链接将主动补全,转换成完全的URL。
submit($URI,$formvars)
本办法向$URL指定的链接地点发送确认表单。$formvars是一个存储表单参数的数组。
submittext($URI,$formvars)
本办法相似于submit(),独一分歧的就是本办法会往除HTML标签和其他的有关数据,只前往上岸后网页中的笔墨内容。
submitlinks($URI)
本办法相似于submit(),独一分歧的就是本办法会往除HTML标签和其他的有关数据,只前往网页中链接(link)。默许情形下,绝对链接将主动补全,转换成完全的URL。
Snoopy类属性:(缺省值在括号里)
$host毗连的主机
$port毗连的端口
$proxy_host利用的代办署理主机,假如有的话
$proxy_port利用的代办署理主机端口,假如有的话
$agent用户代办署理假装(Snoopyv0.1)
$referer去路信息,假如有的话
$cookiescookies,假如有的话
$rawheaders其他的头信息,假如有的话
$maxredirs最年夜重定向次数,0=不同意(5)
$offsiteokwhetherornottoallowredirectsoff-site.(true)
$expandlinks是不是将链接都补全为完全地点(true)
$user认证用户名,假如有的话
$pass认证用户名,假如有的话
$accepthttp承受范例(image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,*/*)
$error那里报错,假如有的话
$response_code从服务器前往的呼应代码
$headers从服务器前往的头信息
$maxlength最长前往数据长度
$read_timeout读取操纵超时(requiresPHP4Beta4+)
设置为0为没有超时
$timed_out假如一次读取操纵超时了,本属性前往true(requiresPHP4Beta4+)
$maxframes同意追踪的框架最年夜数目
$status抓取的http的形态
$temp_dir网页服务器可以写进的一时文件目次(/tmp)
$curl_pathcURLbinary的目次,假如没有cURLbinary就设置为false
Snoopy利用示例:
(1)猎取指定url内容
  1. $url=http://www.Alixixi.com;include(snoopy.php);$snoopy=newSnoopy;$snoopy->fetch($url);//猎取一切内容echo$snoopy->results;//显现了局$snoopy->fetchtext//猎取文本内容(往失落html代码)$snoopy->fetchlinks//猎取页面一切链接$snoopy->fetchform//猎取页面表单信息
复制代码
(2)提交表单
  1. includesnoopy.php;$snoopy=newSnoopy;$formvars[username]=admin;$formvars[pwd]=admin;$action=http://www.Alixixi.com;//表单提交地点$snoopy->submit($action,$formvars);//$formvars为提交的数组echo$snoopy->results;//猎取表单提交后的前往的了局$snoopy->submittext;//提交后只前往往除html的文本$snoopy->submitlinks;//提交后只前往链接
复制代码
(3)利用Snoopy来假装
  1. $formvars[username]=admin;$formvars[pwd]=admin;$action=http://www.Alixixi.com;includesnoopy.php;$snoopy=newSnoopy;$snoopy->cookies[PHPSESSID]=fc206b1918bd522cc863p36890e6notef7;//假装sessionid$snoopy->agent=(compatible;MSIE4.01;MSN2.5;AOL4.0;Windows98);//假装扫瞄器$snoopy->referer=http://www.Alixixi.com;//假装来历页地点http_referer$snoopy->rawheaders[Pragma]=no-cache;//cache的http头信息$snoopy->rawheaders[X_FORWARDED_FOR]=127.0.0.1;//假装ip$snoopy->submit($action,$formvars);echo$snoopy->results;
复制代码
您大概感乐趣的文章

兴趣可能会慢慢消亡,所以适当培养兴趣会激发自己无线的乐趣,有了乐趣,编程有啥难的。
作者: 第二个灵魂    时间: 2015-1-18 21:37
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 仓酷云    时间: 2015-1-24 10:00
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 蒙在股里    时间: 2015-2-1 06:48
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 再现理想    时间: 2015-2-7 01:42
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 莫相离    时间: 2015-2-19 13:51
实践是检验自己会不会的真理。
作者: 分手快乐    时间: 2015-3-6 15:07
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 若天明    时间: 2015-3-13 03:09
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 透明    时间: 2015-3-20 11:09
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2