snoopy php网页抓取工具

snoopy php网页抓取工具

snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)

网站优化优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-11-27 11:07 • 来自相关话题

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  2) 我自然是复制了URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查了一下,果然有惊人的内情
  5) 在请求中放入cookie的值,并添加设置语句$snoopy->cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态 查看全部

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  2) 我自然是复制了URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查了一下,果然有惊人的内情
  5) 在请求中放入cookie的值,并添加设置语句$snoopy->cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态

snoopy php网页抓取工具(php一个类使用教程的使用方法及示例:)

网站优化优采云 发表了文章 • 0 个评论 • 60 次浏览 • 2021-11-19 07:12 • 来自相关话题

  snoopy php网页抓取工具(php一个类使用教程的使用方法及示例:)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,这个文章介绍snoopy详细使用教程。
  史努比的一些特点:
  需要php4以上,因为是php的一个类,不需要扩展支持服务器不支持curl时的最佳选择,
  史努比类方法和示例:
  获取($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标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 要连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(Snoopyv0.1)
  $referer 信息,如果有的话
  $cookiescookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteokwhetherornottoallowredirectsoff-site.(true)
  $expandlinks 是否补全地址的所有链接(真)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如有 查看全部

  snoopy php网页抓取工具(php一个类使用教程的使用方法及示例:)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,这个文章介绍snoopy详细使用教程。
  史努比的一些特点:
  需要php4以上,因为是php的一个类,不需要扩展支持服务器不支持curl时的最佳选择,
  史努比类方法和示例:
  获取($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标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 要连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(Snoopyv0.1)
  $referer 信息,如果有的话
  $cookiescookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteokwhetherornottoallowredirectsoff-site.(true)
  $expandlinks 是否补全地址的所有链接(真)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如有

snoopy php网页抓取工具(PHP类Snoopy的一些特点:*方便网页的文本内容)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-17 09:00 • 来自相关话题

  snoopy php网页抓取工具(PHP类Snoopy的一些特点:*方便网页的文本内容)
  大家知道史努比在PHP类中是什么吗?
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  PHP Snoopy 的一些特性:
  * 方便抓取网页内容
  * 方便抓取网页文字内容(去除HTML标签)
  * 方便抓取网页链接
  * 支持代理主机
  * 支持基本的用户名/密码验证
  * 支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  * 支持浏览器转向,可控制转向深度
  * 可以将网页中的链接扩展为高质量的url(默认)
  * 方便提交数据和获取返回值
  * 支持跟踪 HTML 框架(v0.92 添加)
  * 支持再次重定向时传递 cookie(v0.92 增加)
  PHP类Snoopy的正确运行需要您服务器的PHP版本为4以上,并且支持PCRE(Perl Compatible Regular Expressions),并且支持所有基本的LAMP服务。
  它提供了以下接口或方法:
  获取($URI)
  这个方法是抓取网页的内容,$URI是要抓取的网页的网址,结果存放在$this->results中。如果抓取一帧,每一帧都会被抓取,结果保存在一个数组中。
  fetchtext($URI)
  该方法与fetch()大致相同,只是结果是文本,不包括HTML标签等无关信息。
  fetchform($URI)
  该方法只返回被抓取网页上的表单元素。
  fetchlinks($URI)
  该方法只返回被抓取网页上的链接。默认返回的链接都是收录域名的链接。
  提交($URI,$formvars)
  此方法将表单提交到指定的 $URI。 $formvars 是要传递的表单变量数组。
  提交文本($URI,$formvars)
  该方法与submit()基本相同,只是返回的是文本,不包括html标签等无关数据。
  提交链接($URI)
  此方法返回链接。
  上一篇:几种主流PHP框架的优缺点对比_PHP教程 查看全部

  snoopy php网页抓取工具(PHP类Snoopy的一些特点:*方便网页的文本内容)
  大家知道史努比在PHP类中是什么吗?
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  PHP Snoopy 的一些特性:
  * 方便抓取网页内容
  * 方便抓取网页文字内容(去除HTML标签)
  * 方便抓取网页链接
  * 支持代理主机
  * 支持基本的用户名/密码验证
  * 支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  * 支持浏览器转向,可控制转向深度
  * 可以将网页中的链接扩展为高质量的url(默认)
  * 方便提交数据和获取返回值
  * 支持跟踪 HTML 框架(v0.92 添加)
  * 支持再次重定向时传递 cookie(v0.92 增加)
  PHP类Snoopy的正确运行需要您服务器的PHP版本为4以上,并且支持PCRE(Perl Compatible Regular Expressions),并且支持所有基本的LAMP服务。
  它提供了以下接口或方法:
  获取($URI)
  这个方法是抓取网页的内容,$URI是要抓取的网页的网址,结果存放在$this->results中。如果抓取一帧,每一帧都会被抓取,结果保存在一个数组中。
  fetchtext($URI)
  该方法与fetch()大致相同,只是结果是文本,不包括HTML标签等无关信息。
  fetchform($URI)
  该方法只返回被抓取网页上的表单元素。
  fetchlinks($URI)
  该方法只返回被抓取网页上的链接。默认返回的链接都是收录域名的链接。
  提交($URI,$formvars)
  此方法将表单提交到指定的 $URI。 $formvars 是要传递的表单变量数组。
  提交文本($URI,$formvars)
  该方法与submit()基本相同,只是返回的是文本,不包括html标签等无关数据。
  提交链接($URI)
  此方法返回链接。
  上一篇:几种主流PHP框架的优缺点对比_PHP教程

snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))

网站优化优采云 发表了文章 • 0 个评论 • 88 次浏览 • 2021-11-11 20:09 • 来自相关话题

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网: 查看全部

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网:

snoopy php网页抓取工具(主流的爬虫Nutch开发语言:与Nutch比较:二者均为Java开源框架)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-06 23:21 • 来自相关话题

  snoopy php网页抓取工具(主流的爬虫Nutch开发语言:与Nutch比较:二者均为Java开源框架)
  主流爬虫
  纳奇
  开发语言:Java
  主页:
  介绍:
  Apache的子项目之一是Lucene项目下的子项目。
  Nutch 是一个完整的网络搜索引擎解决方案,基于 Lucene,类似于 Google。基于Hadoop的分布式处理模型保证了系统的性能。类似Eclipse的插件机制保证了系统可以定制,并且很容易集成到自己的应用程序中。之中。
  拉宾
  开发语言:C++
  主页:
  介绍:
  Larbin 是一个开源的网络爬虫/网络蜘蛛,由法国年轻人 Sébastien Ailleret 独立开发。larbin 的目的是能够跟踪页面的 URL 进行扩展抓取,最终为搜索引擎提供广泛的数据源。
  larbin只是一个爬虫,也就是说larbin只爬网页,如何解析是用户自己做的。此外,larbin 没有提供有关如何将其存储在数据库中和构建索引的信息。
  latbin 最初的设计也是基于设计简单但可配置性高的原则,所以我们可以看到,一个简单的 larbin 爬虫每天可以获取 500 万个网页,非常高效。
  赫里特克斯
  开发语言:Java
  主页:
  与纳奇相比:
  两者都是 Java 开源框架。Heritrix 是 SourceForge 上的开源产品,Nutch 是 Apache 的子项目。他们都被称为网络爬虫。它们的实现原理基本一致:深度遍历网站在本地捕获这些资源,使用的方法是分析每个有效的URI网站,并提交一个Http请求得到相应的结果,生成本地文件和相应的日志信息等。
  Heritrix 是一个“档案爬虫”——用于获取网站内容的完整、准确、深层副本。包括获取图片等非文字内容。抓取并存储相关内容。不拒绝任何内容,不对页面进行任何内容修改。重新抓取不会替换同一 URL 的前一次抓取。通过Web用户界面启动、监控和调整爬虫,可以灵活定义获取URL。
  两者的区别:
  Nutch 只获取和保存可索引的内容。Heritrix 接受这一切。力求保留页面的原创外观。
  Nutch 可以修剪内容,或转换内容格式。
  Nutch 以数据库优化的格式保存内容以备将来索引;刷新并替换旧内容。而 Heritrix 正在添加(追加)新的内容。
  Nutch 是从命令行运行和控制的。Heritrix 有一个网页控制管理界面。
  Nutch 的定制能力还不够强大,但现在已经改进了。Heritrix 可以控制更多的参数。
  Heritrix 提供的功能没有 nutch 多,感觉就像从整个站点下载一样。既没有索引也没有解析,即使是重复爬取网址也不是很好。
  Heritrix 功能强大,但是配置起来有点麻烦。
  其他爬虫
  网络学习
  WebLech 是一个强大的网站下载和镜像工具。支持根据功能需求下载网站,并尽可能模仿标准网页浏览器的行为。WebLech 有功能控制台,使用多线程操作。
  阿拉蕾
  Arale 主要是为个人使用而设计的,不像其他爬虫那样专注于页面索引。Arale 可以下载整个网站或网站上的部分资源。Arale 还可以将动态页面映射到静态页面。
  J-蜘蛛
  J-Spider:是一个完全可配置和可定制的 Web Spider 引擎。可以用它来检查网站错误(内部服务器错误等),网站内外链接检查,分析网站的结构(可以创建一个网站@ > map),下载整个网站,也可以写一个JSpider插件扩展你需要的功能。
  主轴
  Spindle 是一个建立在 Lucene 工具包上的 Web 索引/搜索工具。它包括一个用于创建索引的 HTTP 蜘蛛和一个用于搜索这些索引的搜索类。主轴项目提供了一组JSP标签库,让那些基于JSP的站点无需开发任何Java类就可以添加搜索功能。
  蛛形纲动物
  Arachnid:是一个基于 Java 的网络蜘蛛框架。它收录一个简单的 HTML 解析器,可以分析收录 HTML 内容的输入流。通过实现Arachnid子类,可以开发一个简单的网络蜘蛛,可以在每一个网站中使用 解析一个页面后,添加几行代码调用。Arachnid 下载包中收录两个蜘蛛应用程序示例,用于演示如何使用该框架。
  警报器
  LARM 可以为 Jakarta Lucene 搜索引擎框架的用户提供纯 Java 搜索解决方案。它收录索引文件、数据库表和用于索引网站的爬虫的方法。
  乔博
  JoBo 是一个用于下载整个网站的简单工具。它本质上是一个网络蜘蛛。与其他下载工具相比,它的主要优点是能够自动填写表单(如自动登录)和使用cookies来处理会话。JoBo 还具有灵活的下载规则(如:URL、大小、MIME 类型等)来限制下载。
  snoics-爬行动物
  snoics -reptile 是用纯 Java 开发的。它是用于捕获 网站 图像的工具。您可以使用配置文件中提供的 URL 条目来传输所有可以通过浏览器 GET 的 网站。这种方式获取的所有资源都是本地抓取的,包括网页和各类文件,如图片、flash、mp3、zip、rar、exe等文件。整个网站可以完全转移到硬盘上,保持原有的网站结构准确不变。只需将捕获到的网站放入Web服务器(如Apache)即可实现完整的网站镜像。
  网络收获
  Web-Harvest 是一个 Java 开源 Web 数据提取工具。它可以采集指定的网页并从这些网页中提取有用的数据。Web-Harvest主要使用XSLT、XQuery、正则表达式等技术来实现text/xml的操作。
  蜘蛛侠
  Spiderpy 是一个基于 Python 编码的开源网络爬虫工具,允许用户采集文件和搜索网站,并具有可配置的界面。
  蜘蛛网网络 Xoops Mod 团队
  pider Web Network Xoops Mod 是 Xoops 下的一个模块,完全由 PHP 语言实现。
  蜘蛛侠
  Hispider 是一种快速、高性能的蜘蛛,速度快
  严格来说只能是蜘蛛系统的框架。没有详细的要求。目前只能提取URL、URL重复、异步DNS解析、队列任务、支持N机分布式下载、支持网站定向下载((需要配置hispiderd.ini白名单)。
  特点及用途:
  基于unix/linux系统开发
  异步 DNS 解析
  URL 重新加权 查看全部

  snoopy php网页抓取工具(主流的爬虫Nutch开发语言:与Nutch比较:二者均为Java开源框架)
  主流爬虫
  纳奇
  开发语言:Java
  主页:
  介绍:
  Apache的子项目之一是Lucene项目下的子项目。
  Nutch 是一个完整的网络搜索引擎解决方案,基于 Lucene,类似于 Google。基于Hadoop的分布式处理模型保证了系统的性能。类似Eclipse的插件机制保证了系统可以定制,并且很容易集成到自己的应用程序中。之中。
  拉宾
  开发语言:C++
  主页:
  介绍:
  Larbin 是一个开源的网络爬虫/网络蜘蛛,由法国年轻人 Sébastien Ailleret 独立开发。larbin 的目的是能够跟踪页面的 URL 进行扩展抓取,最终为搜索引擎提供广泛的数据源。
  larbin只是一个爬虫,也就是说larbin只爬网页,如何解析是用户自己做的。此外,larbin 没有提供有关如何将其存储在数据库中和构建索引的信息。
  latbin 最初的设计也是基于设计简单但可配置性高的原则,所以我们可以看到,一个简单的 larbin 爬虫每天可以获取 500 万个网页,非常高效。
  赫里特克斯
  开发语言:Java
  主页:
  与纳奇相比:
  两者都是 Java 开源框架。Heritrix 是 SourceForge 上的开源产品,Nutch 是 Apache 的子项目。他们都被称为网络爬虫。它们的实现原理基本一致:深度遍历网站在本地捕获这些资源,使用的方法是分析每个有效的URI网站,并提交一个Http请求得到相应的结果,生成本地文件和相应的日志信息等。
  Heritrix 是一个“档案爬虫”——用于获取网站内容的完整、准确、深层副本。包括获取图片等非文字内容。抓取并存储相关内容。不拒绝任何内容,不对页面进行任何内容修改。重新抓取不会替换同一 URL 的前一次抓取。通过Web用户界面启动、监控和调整爬虫,可以灵活定义获取URL。
  两者的区别:
  Nutch 只获取和保存可索引的内容。Heritrix 接受这一切。力求保留页面的原创外观。
  Nutch 可以修剪内容,或转换内容格式。
  Nutch 以数据库优化的格式保存内容以备将来索引;刷新并替换旧内容。而 Heritrix 正在添加(追加)新的内容。
  Nutch 是从命令行运行和控制的。Heritrix 有一个网页控制管理界面。
  Nutch 的定制能力还不够强大,但现在已经改进了。Heritrix 可以控制更多的参数。
  Heritrix 提供的功能没有 nutch 多,感觉就像从整个站点下载一样。既没有索引也没有解析,即使是重复爬取网址也不是很好。
  Heritrix 功能强大,但是配置起来有点麻烦。
  其他爬虫
  网络学习
  WebLech 是一个强大的网站下载和镜像工具。支持根据功能需求下载网站,并尽可能模仿标准网页浏览器的行为。WebLech 有功能控制台,使用多线程操作。
  阿拉蕾
  Arale 主要是为个人使用而设计的,不像其他爬虫那样专注于页面索引。Arale 可以下载整个网站或网站上的部分资源。Arale 还可以将动态页面映射到静态页面。
  J-蜘蛛
  J-Spider:是一个完全可配置和可定制的 Web Spider 引擎。可以用它来检查网站错误(内部服务器错误等),网站内外链接检查,分析网站的结构(可以创建一个网站@ > map),下载整个网站,也可以写一个JSpider插件扩展你需要的功能。
  主轴
  Spindle 是一个建立在 Lucene 工具包上的 Web 索引/搜索工具。它包括一个用于创建索引的 HTTP 蜘蛛和一个用于搜索这些索引的搜索类。主轴项目提供了一组JSP标签库,让那些基于JSP的站点无需开发任何Java类就可以添加搜索功能。
  蛛形纲动物
  Arachnid:是一个基于 Java 的网络蜘蛛框架。它收录一个简单的 HTML 解析器,可以分析收录 HTML 内容的输入流。通过实现Arachnid子类,可以开发一个简单的网络蜘蛛,可以在每一个网站中使用 解析一个页面后,添加几行代码调用。Arachnid 下载包中收录两个蜘蛛应用程序示例,用于演示如何使用该框架。
  警报器
  LARM 可以为 Jakarta Lucene 搜索引擎框架的用户提供纯 Java 搜索解决方案。它收录索引文件、数据库表和用于索引网站的爬虫的方法。
  乔博
  JoBo 是一个用于下载整个网站的简单工具。它本质上是一个网络蜘蛛。与其他下载工具相比,它的主要优点是能够自动填写表单(如自动登录)和使用cookies来处理会话。JoBo 还具有灵活的下载规则(如:URL、大小、MIME 类型等)来限制下载。
  snoics-爬行动物
  snoics -reptile 是用纯 Java 开发的。它是用于捕获 网站 图像的工具。您可以使用配置文件中提供的 URL 条目来传输所有可以通过浏览器 GET 的 网站。这种方式获取的所有资源都是本地抓取的,包括网页和各类文件,如图片、flash、mp3、zip、rar、exe等文件。整个网站可以完全转移到硬盘上,保持原有的网站结构准确不变。只需将捕获到的网站放入Web服务器(如Apache)即可实现完整的网站镜像。
  网络收获
  Web-Harvest 是一个 Java 开源 Web 数据提取工具。它可以采集指定的网页并从这些网页中提取有用的数据。Web-Harvest主要使用XSLT、XQuery、正则表达式等技术来实现text/xml的操作。
  蜘蛛侠
  Spiderpy 是一个基于 Python 编码的开源网络爬虫工具,允许用户采集文件和搜索网站,并具有可配置的界面。
  蜘蛛网网络 Xoops Mod 团队
  pider Web Network Xoops Mod 是 Xoops 下的一个模块,完全由 PHP 语言实现。
  蜘蛛侠
  Hispider 是一种快速、高性能的蜘蛛,速度快
  严格来说只能是蜘蛛系统的框架。没有详细的要求。目前只能提取URL、URL重复、异步DNS解析、队列任务、支持N机分布式下载、支持网站定向下载((需要配置hispiderd.ini白名单)。
  特点及用途:
  基于unix/linux系统开发
  异步 DNS 解析
  URL 重新加权

snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)

网站优化优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2021-11-04 06:19 • 来自相关话题

  snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)
  Snoopy 是一个非常强大的 PHP 类,可以用来模拟浏览器来完成获取网页内容和发送表单的任务。下面详细介绍Snoopy.class.php的特性和一些常用用法。
  官方网站:(不能打开国外的网站并使用Skyline浏览器)
  下载链接:
  本站下载地址:PHP采集库Snoopy.class.php下载
  以下是史努比的一些功能:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,表单fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展为高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架(v0.92增加)
  11、支持重定向时传递cookie
  备注:Snoopy.class.php 需要 php4 或更高版本。既然是php类,就不需要扩展支持了。服务器不支持 curl 时的最佳选择。
  下面介绍一些常用的类方法:
  获取($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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)
  Snoopy 是一个非常强大的 PHP 类,可以用来模拟浏览器来完成获取网页内容和发送表单的任务。下面详细介绍Snoopy.class.php的特性和一些常用用法。
  官方网站:(不能打开国外的网站并使用Skyline浏览器)
  下载链接:
  本站下载地址:PHP采集库Snoopy.class.php下载
  以下是史努比的一些功能:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,表单fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展为高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架(v0.92增加)
  11、支持重定向时传递cookie
  备注:Snoopy.class.php 需要 php4 或更高版本。既然是php类,就不需要扩展支持了。服务器不支持 curl 时的最佳选择。
  下面介绍一些常用的类方法:
  获取($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 认证用户名,如果有的话

snoopy php网页抓取工具(Snoopy()抓取网页的文本内容(去除HTML标签))

网站优化优采云 发表了文章 • 0 个评论 • 62 次浏览 • 2021-11-03 00:12 • 来自相关话题

  snoopy php网页抓取工具(Snoopy()抓取网页的文本内容(去除HTML标签))
  内容
  什么是史努比?
  Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  官方网站
  史努比(Snoopy),一个可爱的品类~
  你是怎么遇到的?
  因为之前在Hulvlin看到@浪人写的乐讯内部信机,当时觉得有点意思,但是后来使用的时候,发现了一些问题。有时程序中的内信失败,所以我打算修改它。就这样,我认识了史努比。
  史努比的一些特点
  获取网页内容 fetch()
  抓取网页的文本内容(去除HTML标签)fetchtext()
  获取网页链接,表单 fetchlinks() fetchform()
  支持代理主机
  支持基本的用户名/密码验证
  支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  支持浏览器重定向,控制重定向深度
  可以将网页中的链接扩展为高质量的 url(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持在重定向时传递 cookie
  需要php4或以上。既然是php的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法1.fetch($uri)
  这是用于抓取网页内容的方法。$URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2.fetchtext($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3.fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4.fetchlinks($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  5.提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  6.提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  7.提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性(括号内为默认值)
  $host 连接的主机
  $port 连接端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。(真的)
  $expandlinks 是否完成所有链接以完成地址(true)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(Snoopy()抓取网页的文本内容(去除HTML标签))
  内容
  什么是史努比?
  Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  官方网站
  史努比(Snoopy),一个可爱的品类~
  你是怎么遇到的?
  因为之前在Hulvlin看到@浪人写的乐讯内部信机,当时觉得有点意思,但是后来使用的时候,发现了一些问题。有时程序中的内信失败,所以我打算修改它。就这样,我认识了史努比。
  史努比的一些特点
  获取网页内容 fetch()
  抓取网页的文本内容(去除HTML标签)fetchtext()
  获取网页链接,表单 fetchlinks() fetchform()
  支持代理主机
  支持基本的用户名/密码验证
  支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  支持浏览器重定向,控制重定向深度
  可以将网页中的链接扩展为高质量的 url(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持在重定向时传递 cookie
  需要php4或以上。既然是php的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法1.fetch($uri)
  这是用于抓取网页内容的方法。$URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2.fetchtext($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3.fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4.fetchlinks($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  5.提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  6.提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  7.提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性(括号内为默认值)
  $host 连接的主机
  $port 连接端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。(真的)
  $expandlinks 是否完成所有链接以完成地址(true)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话

snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能 )

网站优化优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2021-10-31 23:05 • 来自相关话题

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能
)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn"))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是无法伪装的。相反,那些通过http头(可以防止代理)获取IP的人可以制作自己的IP。
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid,并记下sessionid和验证码值,然后使用snoopy锻造它。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = '238472834723489';
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com")){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集:
<p> 查看全部

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能
)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn";))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是无法伪装的。相反,那些通过http头(可以防止代理)获取IP的人可以制作自己的IP。
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid,并记下sessionid和验证码值,然后使用snoopy锻造它。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com";)){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:

";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集
<p>

snoopy php网页抓取工具(Snoopy类的下载地址和下载类下载方法汇总)

网站优化优采云 发表了文章 • 0 个评论 • 76 次浏览 • 2021-10-29 00:02 • 来自相关话题

  snoopy php网页抓取工具(Snoopy类的下载地址和下载类下载方法汇总)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页的内容并发送表单。
  Snoopy 的正确运行需要您服务器的 PHP 版本在 4.0 以上,并且支持 PCRE(Perl Compatible Regular Expressions),以及基本的 LAMP 服务。史努比分类下载地址为:
  一、史努比的一些特点:
  1.抓取网页抓取的内容
  2.获取网页的文本内容(去除HTML标签)fetchtext
  3.获取网页链接,表单获取链接获取表单
  4.支持代理主机
  5.支持基本的用户名/密码验证
  6.支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7.支持浏览器重定向,控制重定向深度
  8.可以将网页中的链接扩展为高质量的url(默认)
  9.提交数据并获取返回值
  10.支持跟踪 HTML 框架
  11. 支持重定向时cookie的传输,php4以上就可以了。既然是php类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  二、类方法:
  获取($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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(Snoopy类的下载地址和下载类下载方法汇总)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页的内容并发送表单。
  Snoopy 的正确运行需要您服务器的 PHP 版本在 4.0 以上,并且支持 PCRE(Perl Compatible Regular Expressions),以及基本的 LAMP 服务。史努比分类下载地址为:
  一、史努比的一些特点:
  1.抓取网页抓取的内容
  2.获取网页的文本内容(去除HTML标签)fetchtext
  3.获取网页链接,表单获取链接获取表单
  4.支持代理主机
  5.支持基本的用户名/密码验证
  6.支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7.支持浏览器重定向,控制重定向深度
  8.可以将网页中的链接扩展为高质量的url(默认)
  9.提交数据并获取返回值
  10.支持跟踪 HTML 框架
  11. 支持重定向时cookie的传输,php4以上就可以了。既然是php类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  二、类方法:
  获取($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 认证用户名,如果有的话

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

网站优化优采云 发表了文章 • 0 个评论 • 60 次浏览 • 2021-10-28 13:20 • 来自相关话题

  snoopy php网页抓取工具(: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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(: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 认证用户名,如果有的话

snoopy php网页抓取工具(PHP5.3.阅读全文PHP-FPM配置及使用总结(组图))

网站优化优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2021-10-27 18:03 • 来自相关话题

  snoopy php网页抓取工具(PHP5.3.阅读全文PHP-FPM配置及使用总结(组图))
  阿里云&gt;云栖社区&gt;主题图&gt;P&gt;php网页错误追踪
  
  推荐活动:
  更多优惠&gt;
  当前主题:php网页错误跟踪添加到采集夹
  相关话题:
  php网页错误跟踪相关博客查看更多博客
  基于鼠标点击跟踪的用户点击行为...
  
  
  作者:白占堂1001人浏览评论:08年前
  想知道你的网站设计是否合理?您确定您的按钮和链接放置在它们应有的位置吗?您想确切地知道用户对页面感兴趣的位置吗?没有人能猜到用户喜欢什么。那些“我认为”和“我认为”都是无稽之谈。你有数据吗?前阵子看到车东的《基于鼠标点击的用户点跟踪》。
  阅读全文
  PHP性能调优---PHP-FPM配置及使用总结
  
  
  作者:suboysugar1589 人浏览评论:04年前
  PHP-FPM 配置和使用总结:php-FPM 是一个 PHP FastCGI 管理器。它实际上是一个 PHP 源代码的补丁。它旨在将 FastCGI 进程管理引入 PHP 软件包。我们必须将其修补到 PHP 源代码中。在代码中,然后编译它才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:科技小哥 1381人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:技术小哥 1372人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP snooping 介绍 采集 class snoopy
  
  
  作者:thinkyoung708人浏览评论:06年前
  PHP爬虫采集类snoopy介绍了一个PHP爬虫程序,写于2011年7月4日,已阅读10270次。谢谢参考或原服务器。花了 14.288 ms 进行了 2 次数据库查询,努力为您提供此页面。试试阅读模式?希望
  阅读全文
  snoopy(强大的PHP采集类)详细介绍
  
  
  作者:suboysugar797人浏览评论:06年前
  史努比是一个php类,用来模拟浏览器的功能。它可以获取网页内容并发送表格。可以用来开发一些采集程序和小偷程序。这个文章详细介绍了snoopy的使用。Snoopy 的一些功能: fetch 网页内容 fetch fetch 网页文字内容(去除 HTML 标签) fetch
  阅读全文
  linux网站 构建示例
  
  
  作者:小科技达人1492人浏览评论:03年前
  我们知道windows网站的搭建一般是:IIS+Asp+Sqlserver,linux网站的搭建是:Apache+php+Mysql。两者是有区别的,但是为什么我们很多门户网站网站都选择linux-apache+php+mysql?当然它的安全性,Ap
  阅读全文
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12)
  
  
  作者:小科技专家1263人浏览评论:03年前
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12) 系统环境:centos 5.6 (x64)+Nginx 1.0.4+Mysql 5.@ &gt; 5.12 + PHP 5.3.6 包裹存放位置/us
  阅读全文 查看全部

  snoopy php网页抓取工具(PHP5.3.阅读全文PHP-FPM配置及使用总结(组图))
  阿里云&gt;云栖社区&gt;主题图&gt;P&gt;php网页错误追踪
  
  推荐活动:
  更多优惠&gt;
  当前主题:php网页错误跟踪添加到采集
  相关话题:
  php网页错误跟踪相关博客查看更多博客
  基于鼠标点击跟踪的用户点击行为...
  
  
  作者:白占堂1001人浏览评论:08年前
  想知道你的网站设计是否合理?您确定您的按钮和链接放置在它们应有的位置吗?您想确切地知道用户对页面感兴趣的位置吗?没有人能猜到用户喜欢什么。那些“我认为”和“我认为”都是无稽之谈。你有数据吗?前阵子看到车东的《基于鼠标点击的用户点跟踪》。
  阅读全文
  PHP性能调优---PHP-FPM配置及使用总结
  
  
  作者:suboysugar1589 人浏览评论:04年前
  PHP-FPM 配置和使用总结:php-FPM 是一个 PHP FastCGI 管理器。它实际上是一个 PHP 源代码的补丁。它旨在将 FastCGI 进程管理引入 PHP 软件包。我们必须将其修补到 PHP 源代码中。在代码中,然后编译它才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:科技小哥 1381人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:技术小哥 1372人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP snooping 介绍 采集 class snoopy
  
  
  作者:thinkyoung708人浏览评论:06年前
  PHP爬虫采集类snoopy介绍了一个PHP爬虫程序,写于2011年7月4日,已阅读10270次。谢谢参考或原服务器。花了 14.288 ms 进行了 2 次数据库查询,努力为您提供此页面。试试阅读模式?希望
  阅读全文
  snoopy(强大的PHP采集类)详细介绍
  
  
  作者:suboysugar797人浏览评论:06年前
  史努比是一个php类,用来模拟浏览器的功能。它可以获取网页内容并发送表格。可以用来开发一些采集程序和小偷程序。这个文章详细介绍了snoopy的使用。Snoopy 的一些功能: fetch 网页内容 fetch fetch 网页文字内容(去除 HTML 标签) fetch
  阅读全文
  linux网站 构建示例
  
  
  作者:小科技达人1492人浏览评论:03年前
  我们知道windows网站的搭建一般是:IIS+Asp+Sqlserver,linux网站的搭建是:Apache+php+Mysql。两者是有区别的,但是为什么我们很多门户网站网站都选择linux-apache+php+mysql?当然它的安全性,Ap
  阅读全文
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12)
  
  
  作者:小科技专家1263人浏览评论:03年前
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12) 系统环境:centos 5.6 (x64)+Nginx 1.0.4+Mysql 5.@ &gt; 5.12 + PHP 5.3.6 包裹存放位置/us
  阅读全文

snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))

网站优化优采云 发表了文章 • 0 个评论 • 86 次浏览 • 2021-10-26 14:04 • 来自相关话题

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网: 查看全部

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网:

snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)

网站优化优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-10-26 14:02 • 来自相关话题

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  爬取前记得将php.ini中的max_execution_time设置为较大的值,否则会报错。
  
  一、使用Snoopy.class.php抓取页面
  
  一个非常可爱的班级名称。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  
  2)我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,稍后分析使用。<//p
pimg src='https://www.programminghunter.com/images/771/48/48304ba5e6f9fe08f3fa1abda7d326ab.gif' alt='复制代码'//p
ppre$snoopy=new Snoopy();
//医院list页面
for($i = 1; $i = 10; $i++) {
$url = 'http://www.guahao.com/hospital/areahospitals?p=全国&pageNo=' . $i;
$snoopy-fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3)奇怪的是,返回的内容不是国家内容,而是上海相关内容
  
  4)怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  
  5)在请求中放入cookie的值,添加设置语句$snoopy->cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,DOM结构如下图所示:
  
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ 工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($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
  连接的主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机,如果有的话
  $proxy_port
  使用的代理主机端口,如果有的话
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  访问信息,如果有的话
  $cookies
  Cookies,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。 (真实)
  $expandlinks
  是否补全链接地址(真)
  $用户
  经过身份验证的用户名(如果有)
  $pass
  经过身份验证的用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $maxlength
  最长返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,该属性返回true(需要PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态 查看全部

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  爬取前记得将php.ini中的max_execution_time设置为较大的值,否则会报错。
  
  一、使用Snoopy.class.php抓取页面
  
  一个非常可爱的班级名称。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  
  2)我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,稍后分析使用。<//p
pimg src='https://www.programminghunter.com/images/771/48/48304ba5e6f9fe08f3fa1abda7d326ab.gif' alt='复制代码'//p
ppre$snoopy=new Snoopy();
//医院list页面
for($i = 1; $i = 10; $i++) {
$url = 'http://www.guahao.com/hospital/areahospitals?p=全国&pageNo=' . $i;
$snoopy-fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3)奇怪的是,返回的内容不是国家内容,而是上海相关内容
  
  4)怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  
  5)在请求中放入cookie的值,添加设置语句$snoopy->cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,DOM结构如下图所示:
  
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ 工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($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
  连接的主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机,如果有的话
  $proxy_port
  使用的代理主机端口,如果有的话
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  访问信息,如果有的话
  $cookies
  Cookies,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。 (真实)
  $expandlinks
  是否补全链接地址(真)
  $用户
  经过身份验证的用户名(如果有)
  $pass
  经过身份验证的用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $maxlength
  最长返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,该属性返回true(需要PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态

snoopy php网页抓取工具(php类Snoopy的特点及特点分析-上海怡健医学)

网站优化优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2021-10-26 14:01 • 来自相关话题

  snoopy php网页抓取工具(php类Snoopy的特点及特点分析-上海怡健医学)
  Snoopy 是一个 php 类,用于模拟浏览器的一些简单功能,可以获取网页内容、发送表单等操作。 Snoopy 需要您服务器的 PHP 版本 4 或更高版本才能正确运行,并且支持 PCRE(Perl Compatible Regular Expressions),并且支持所有基本的 LAMP 服务。既然是php类,不需要扩展支持,所以是服务器不支持curl时的最佳选择。
  史努比的特点:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,形成fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展成高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架
  11、支持重定向时传递cookie
  史努比类下载链接:
  史努比类方法:
  获取($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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(php类Snoopy的特点及特点分析-上海怡健医学)
  Snoopy 是一个 php 类,用于模拟浏览器的一些简单功能,可以获取网页内容、发送表单等操作。 Snoopy 需要您服务器的 PHP 版本 4 或更高版本才能正确运行,并且支持 PCRE(Perl Compatible Regular Expressions),并且支持所有基本的 LAMP 服务。既然是php类,不需要扩展支持,所以是服务器不支持curl时的最佳选择。
  史努比的特点:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,形成fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展成高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架
  11、支持重定向时传递cookie
  史努比类下载链接:
  史努比类方法:
  获取($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 认证用户名,如果有的话

snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2021-10-21 00:01 • 来自相关话题

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国医院的信息内容,如下图:
  2) 我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  5) 在请求中放入cookie的值,并添加设置语句$snoopy-&gt;cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态 查看全部

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国医院的信息内容,如下图:
  2) 我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  5) 在请求中放入cookie的值,并添加设置语句$snoopy-&gt;cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态

snoopy php网页抓取工具(phpsnoopy用法:Snoopy($URI)类方法及示例)

网站优化优采云 发表了文章 • 0 个评论 • 83 次浏览 • 2021-10-20 12:07 • 来自相关话题

  snoopy php网页抓取工具(phpsnoopy用法:Snoopy($URI)类方法及示例)
  php snoopy 用法:1、[fetch($URI)] 抓取网页内容; 2、[fetchtext($URI)] 删除 HTML 标签和其他无关数据; 3、【fetchform($URI)】返回网页中表单的内容。
  
  本教程运行环境:windows7系统,PHP5.6版本,DELL G3电脑。
  php snoopy 用法:
  史努比类方法和示例:
  1、fetch($URI)
  这是用来抓取网页内容的方法。
  $URI 参数是被抓取网页的 URL 地址。
  获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2、fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3、fetchform($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4、fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  5、提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6、提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7、提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies(如果有)
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。 (真实)
  $expandlinks 是否完成所有链接以完成地址(真实)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(phpsnoopy用法:Snoopy($URI)类方法及示例)
  php snoopy 用法:1、[fetch($URI)] 抓取网页内容; 2、[fetchtext($URI)] 删除 HTML 标签和其他无关数据; 3、【fetchform($URI)】返回网页中表单的内容。
  
  本教程运行环境:windows7系统,PHP5.6版本,DELL G3电脑。
  php snoopy 用法:
  史努比类方法和示例:
  1、fetch($URI)
  这是用来抓取网页内容的方法。
  $URI 参数是被抓取网页的 URL 地址。
  获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2、fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3、fetchform($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4、fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  5、提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6、提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7、提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies(如果有)
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。 (真实)
  $expandlinks 是否完成所有链接以完成地址(真实)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话

snoopy php网页抓取工具(作者MonteOhrt类版本V2.0三、类的特性)

网站优化优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2021-10-15 06:13 • 来自相关话题

  snoopy php网页抓取工具(作者MonteOhrt类版本V2.0三、类的特性)
  Monte Ohrt 类的作者
  V2.0 类的版本
  三、 类的特点
  回到书中,我们先了解一下它的特点,掌握它的特点对我们理解它有很大的帮助!
  1、方便抓取网页的内容 fetch
2、方便抓取网页的文字(去掉HTML代码)fetchtext
3、方便抓取网页的链接 fetchlinks
4、支持代理主机
5、支持基本的用户/密码认证模式
6、支持自定义用户agent,referer,cookies和header内容
7、支持浏览器转向,并能控制转向深度
8、能把网页中的链接扩展成高质量的url(默认)
9、方便提交数据并且获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持再转向的时候传递cookies
  四、类方法
  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,$formvars)
本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。默认情况下,相对链接将自动补全,转换成完整的URL。
  五、 类属性(括号内为默认值)
  $host 连接的主机
$port 连接的端口
$proxy_host 使用的代理主机,如果有的话
$proxy_port 使用的代理主机端口,如果有的话
$agent 用户代理伪装 (Snoopy v0.1)
$referer 来路信息,如果有的话
$cookies,如果有的话
$rawheaders 其他的头信息, 如果有的话
$maxredirs 最大重定向次数,0=不允许 (5)
$offsiteok whether or not to allow redirects off-site. (true)
$expandlinks 是否将链接都补全为完整地址 (true)
$user 认证用户名, 如果有的话
$pass 认证用户名, 如果有的话
$accept http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
$error 哪里报错, 如果有的话
$response_code 从服务器返回的响应代码
$headers 从服务器返回的头信息
$maxlength 最长返回数据长度
$read_timeout 读取操作超时 (requires PHP 4 Beta 4+) 设置为0为没有超时
$timed_out 如果一次读取操作超时了,本属性返回 true (requires PHP 4 Beta 4+)
$maxframes 允许追踪的框架最大数量
$status 抓取的http的状态
$temp_dir 网页服务器能够写入的临时文件目录 (/tmp)
$curl_path cURL binary 的目录, 如果没有cURL binary就设置为 false
  六、如何使用类
  以下示例均来自本站,方便大家理解。但是在使用模拟登录的时候,应该自己下载一些例子来演示,不要用我的网站玩,哈哈...
  1、fetch 获取网页内容,示例
  源代码如下:
<p> 查看全部

  snoopy php网页抓取工具(作者MonteOhrt类版本V2.0三、类的特性)
  Monte Ohrt 类的作者
  V2.0 类的版本
  三、 类的特点
  回到书中,我们先了解一下它的特点,掌握它的特点对我们理解它有很大的帮助!
  1、方便抓取网页的内容 fetch
2、方便抓取网页的文字(去掉HTML代码)fetchtext
3、方便抓取网页的链接 fetchlinks
4、支持代理主机
5、支持基本的用户/密码认证模式
6、支持自定义用户agent,referer,cookies和header内容
7、支持浏览器转向,并能控制转向深度
8、能把网页中的链接扩展成高质量的url(默认)
9、方便提交数据并且获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持再转向的时候传递cookies
  四、类方法
  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,$formvars)
本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。默认情况下,相对链接将自动补全,转换成完整的URL。
  五、 类属性(括号内为默认值)
  $host 连接的主机
$port 连接的端口
$proxy_host 使用的代理主机,如果有的话
$proxy_port 使用的代理主机端口,如果有的话
$agent 用户代理伪装 (Snoopy v0.1)
$referer 来路信息,如果有的话
$cookies,如果有的话
$rawheaders 其他的头信息, 如果有的话
$maxredirs 最大重定向次数,0=不允许 (5)
$offsiteok whether or not to allow redirects off-site. (true)
$expandlinks 是否将链接都补全为完整地址 (true)
$user 认证用户名, 如果有的话
$pass 认证用户名, 如果有的话
$accept http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
$error 哪里报错, 如果有的话
$response_code 从服务器返回的响应代码
$headers 从服务器返回的头信息
$maxlength 最长返回数据长度
$read_timeout 读取操作超时 (requires PHP 4 Beta 4+) 设置为0为没有超时
$timed_out 如果一次读取操作超时了,本属性返回 true (requires PHP 4 Beta 4+)
$maxframes 允许追踪的框架最大数量
$status 抓取的http的状态
$temp_dir 网页服务器能够写入的临时文件目录 (/tmp)
$curl_path cURL binary 的目录, 如果没有cURL binary就设置为 false
  六、如何使用类
  以下示例均来自本站,方便大家理解。但是在使用模拟登录的时候,应该自己下载一些例子来演示,不要用我的网站玩,哈哈...
  1、fetch 获取网页内容,示例
  源代码如下:
<p>

snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能)

网站优化优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-10-13 08:23 • 来自相关话题

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn"))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid。同时记下sessionid和验证码值,然后用snoopy伪造。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com")){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集:
<p> 查看全部

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn";))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid。同时记下sessionid和验证码值,然后用snoopy伪造。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com";)){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:

";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集
<p>

snoopy php网页抓取工具(603999.SH读者传媒:2017年年度报告获取网页pdf下载地址 )

网站优化优采云 发表了文章 • 0 个评论 • 110 次浏览 • 2021-10-13 00:11 • 来自相关话题

  snoopy php网页抓取工具(603999.SH读者传媒:2017年年度报告获取网页pdf下载地址
)
  任务:批量抓取网页pdf文件
  有一个 excel,其中有数千个指向 pdf 下载链接的网页地址。现在需要批量抓取这些网页地址中的pdf文件。
  Python环境:
  蟒蛇3
  打开pyxl
  Beautifulsoup4 读取excel,获取网页地址
  使用 openpyxl 库读取 .xslx 文件;
  (我尝试使用xlrd库读取.xsl文件,但是无法获取超链接)
  安装 openpyxl
  pip install openpyxl
  提取 xslx 文件中的超链接
  示例文件结构
  公告日期 证券代码公告名称
  2018-04-20
  603999.SH
  读者媒体:2017年年报
  2018-04-28
  603998.SH
  方盛药业:2017年年报
  def readxlsx(path):
workbook = openpyxl.load_workbook(path)
Data_sheet = workbook.get_sheet_by_name('sheet1')
rowNum = Data_sheet.max_row #读取最大行数
c = 3 # 第三列是所需要提取的数据
server = 'http://news.windin.com/ns/'
for row in range(1, rowNum + 1):
link = Data_sheet.cell(row=row, column=c).value
url = re.split(r'\"', link)[1]
print(url)
downEachPdf(url, server)
  获取网页pdf下载地址
  进入阅读媒体:2017年年报,可以在Chrome浏览器中按F12查看网页源码,以下是源码截取:
<p>附件: 查看全部

  snoopy php网页抓取工具(603999.SH读者传媒:2017年年度报告获取网页pdf下载地址
)
  任务:批量抓取网页pdf文件
  有一个 excel,其中有数千个指向 pdf 下载链接的网页地址。现在需要批量抓取这些网页地址中的pdf文件。
  Python环境:
  蟒蛇3
  打开pyxl
  Beautifulsoup4 读取excel,获取网页地址
  使用 openpyxl 库读取 .xslx 文件;
  (我尝试使用xlrd库读取.xsl文件,但是无法获取超链接)
  安装 openpyxl
  pip install openpyxl
  提取 xslx 文件中的超链接
  示例文件结构
  公告日期 证券代码公告名称
  2018-04-20
  603999.SH
  读者媒体:2017年年报
  2018-04-28
  603998.SH
  方盛药业:2017年年报
  def readxlsx(path):
workbook = openpyxl.load_workbook(path)
Data_sheet = workbook.get_sheet_by_name('sheet1')
rowNum = Data_sheet.max_row #读取最大行数
c = 3 # 第三列是所需要提取的数据
server = 'http://news.windin.com/ns/'
for row in range(1, rowNum + 1):
link = Data_sheet.cell(row=row, column=c).value
url = re.split(r'\"', link)[1]
print(url)
downEachPdf(url, server)
  获取网页pdf下载地址
  进入阅读媒体:2017年年报,可以在Chrome浏览器中按F12查看网页源码,以下是源码截取:
<p>附件:

snoopy php网页抓取工具(Snoopy($URI)功能特点及去除和发送表单)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-10-10 23:13 • 来自相关话题

  snoopy php网页抓取工具(Snoopy($URI)功能特点及去除和发送表单)
  简介:Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。 **官网:/** ...史努比的一些功能:获取网页内容 fetch() fetch...
  

<p>引言:Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。


  **官方网址:http://snoopy.sourceforge.net/**

  简单一句话表达:"Snoopy是一个php类库,用来模拟浏览器的功能,可以获取网页内容,发送表单。",补一下脑。

   

  Snoopy的一些功能特点:
抓取网页的内容 fetch()抓取网页的文本内容 (去除HTML标签) fetchtext()抓取网页的链接,表单 fetchlinks() fetchform()支持代理主机支持基本的用户名/密码验证支持设置 user_agent, referer(来路), cookies 和 header content(头文件)支持浏览器重定向,并能控制重定向深度能把网页中的链接扩展成高质量的url(默认)提交数据并且获取返回值支持跟踪HTML框架支持重定向的时候传递cookies


  注意:PHP容器要求php4以上就可以。由于本身是php一个类,无需扩支持,它是服务器不支持curl时候的最好选择。


  Come on,跟着SuperDo一起来了解一下Snoopy的使用吧。。。

  

   

  类方法


  下面,我们为大家准备了Snoopy常用的一些类方法。

  1. fetch($uri)[b]

  这是为了抓取网页的内容而使用的方法。$URI参数是被抓取网页的URL地址。抓取的结果被存储在 $this->results 中。

  如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。

</p>
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性(括号内为默认值)
  基本示例
  通用示例:
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://do.org.cn/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://do.org.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://do.org.cn")) {
echo "".htmlspecialchars($snoopy->results)."
  n";} else {echo "error fetching document: ".$snoopy->error."n";}
  获取指定url的内容:
  表单提交:
  伪装ip,伪装浏览器:
  详细说明:
  原来我们可以伪装会话,伪装浏览器,伪装ip,(旁白:猥亵笑HOHO)我们可以做很多事情。
  例如:用验证码投票,验证ip,可以连续投票。
  PS:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何骗取验证码,简单说一下:
  操作方法:先用普通浏览器查看页面,找到验证码对应的sessionid,记下sessionid和验证码的值,然后用snoopy伪造
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  制作其他属性:
  两个综合例子
  马克,有兴趣的可以看看。
  示例 1:
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://do.org.cn/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.google.com")){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."
n";

// print the headers:

print "<b>Headers:[/b]
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
} else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  示例 2:(图片采集)
<p> 查看全部

  snoopy php网页抓取工具(Snoopy($URI)功能特点及去除和发送表单)
  简介:Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。 **官网:/** ...史努比的一些功能:获取网页内容 fetch() fetch...
  

<p>引言:Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。


  **官方网址:http://snoopy.sourceforge.net/**

  简单一句话表达:"Snoopy是一个php类库,用来模拟浏览器的功能,可以获取网页内容,发送表单。",补一下脑。

   

  Snoopy的一些功能特点:
抓取网页的内容 fetch()抓取网页的文本内容 (去除HTML标签) fetchtext()抓取网页的链接,表单 fetchlinks() fetchform()支持代理主机支持基本的用户名/密码验证支持设置 user_agent, referer(来路), cookies 和 header content(头文件)支持浏览器重定向,并能控制重定向深度能把网页中的链接扩展成高质量的url(默认)提交数据并且获取返回值支持跟踪HTML框架支持重定向的时候传递cookies


  注意:PHP容器要求php4以上就可以。由于本身是php一个类,无需扩支持,它是服务器不支持curl时候的最好选择。


  Come on,跟着SuperDo一起来了解一下Snoopy的使用吧。。。

  

   

  类方法


  下面,我们为大家准备了Snoopy常用的一些类方法

  1. fetch($uri)[b]

  这是为了抓取网页的内容而使用的方法。$URI参数是被抓取网页的URL地址。抓取的结果被存储在 $this->results 中。

  如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。

</p>
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性(括号内为默认值)
  基本示例
  通用示例:
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://do.org.cn/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://do.org.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://do.org.cn";)) {
echo "".htmlspecialchars($snoopy->results)."
  n";} else {echo "error fetching document: ".$snoopy->error."n";}
  获取指定url的内容:
  表单提交:
  伪装ip,伪装浏览器:
  详细说明:
  原来我们可以伪装会话,伪装浏览器,伪装ip,(旁白:猥亵笑HOHO)我们可以做很多事情。
  例如:用验证码投票,验证ip,可以连续投票。
  PS:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何骗取验证码,简单说一下:
  操作方法:先用普通浏览器查看页面,找到验证码对应的sessionid,记下sessionid和验证码的值,然后用snoopy伪造
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  制作其他属性:
  两个综合例子
  马克,有兴趣的可以看看。
  示例 1:
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://do.org.cn/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.google.com";)){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."
n";

// print the headers:

print "<b>Headers:[/b]
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
} else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  示例 2:(图片采集
<p>

snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)

网站优化优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-11-27 11:07 • 来自相关话题

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  2) 我自然是复制了URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo &#39;success&#39;;
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查了一下,果然有惊人的内情
  5) 在请求中放入cookie的值,并添加设置语句$snoopy-&gt;cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = &#39;{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限"}&#39;;
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr(&#39;href&#39;)); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态 查看全部

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  2) 我自然是复制了URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo &#39;success&#39;;
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查了一下,果然有惊人的内情
  5) 在请求中放入cookie的值,并添加设置语句$snoopy-&gt;cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = &#39;{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限"}&#39;;
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr(&#39;href&#39;)); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态

snoopy php网页抓取工具(php一个类使用教程的使用方法及示例:)

网站优化优采云 发表了文章 • 0 个评论 • 60 次浏览 • 2021-11-19 07:12 • 来自相关话题

  snoopy php网页抓取工具(php一个类使用教程的使用方法及示例:)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,这个文章介绍snoopy详细使用教程。
  史努比的一些特点:
  需要php4以上,因为是php的一个类,不需要扩展支持服务器不支持curl时的最佳选择,
  史努比类方法和示例:
  获取($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标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 要连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(Snoopyv0.1)
  $referer 信息,如果有的话
  $cookiescookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteokwhetherornottoallowredirectsoff-site.(true)
  $expandlinks 是否补全地址的所有链接(真)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如有 查看全部

  snoopy php网页抓取工具(php一个类使用教程的使用方法及示例:)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,可以用来开发一些采集程序和小偷程序,这个文章介绍snoopy详细使用教程。
  史努比的一些特点:
  需要php4以上,因为是php的一个类,不需要扩展支持服务器不支持curl时的最佳选择,
  史努比类方法和示例:
  获取($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标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 要连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(Snoopyv0.1)
  $referer 信息,如果有的话
  $cookiescookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteokwhetherornottoallowredirectsoff-site.(true)
  $expandlinks 是否补全地址的所有链接(真)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如有

snoopy php网页抓取工具(PHP类Snoopy的一些特点:*方便网页的文本内容)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-17 09:00 • 来自相关话题

  snoopy php网页抓取工具(PHP类Snoopy的一些特点:*方便网页的文本内容)
  大家知道史努比在PHP类中是什么吗?
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  PHP Snoopy 的一些特性:
  * 方便抓取网页内容
  * 方便抓取网页文字内容(去除HTML标签)
  * 方便抓取网页链接
  * 支持代理主机
  * 支持基本的用户名/密码验证
  * 支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  * 支持浏览器转向,可控制转向深度
  * 可以将网页中的链接扩展为高质量的url(默认)
  * 方便提交数据和获取返回值
  * 支持跟踪 HTML 框架(v0.92 添加)
  * 支持再次重定向时传递 cookie(v0.92 增加)
  PHP类Snoopy的正确运行需要您服务器的PHP版本为4以上,并且支持PCRE(Perl Compatible Regular Expressions),并且支持所有基本的LAMP服务。
  它提供了以下接口或方法:
  获取($URI)
  这个方法是抓取网页的内容,$URI是要抓取的网页的网址,结果存放在$this->results中。如果抓取一帧,每一帧都会被抓取,结果保存在一个数组中。
  fetchtext($URI)
  该方法与fetch()大致相同,只是结果是文本,不包括HTML标签等无关信息。
  fetchform($URI)
  该方法只返回被抓取网页上的表单元素。
  fetchlinks($URI)
  该方法只返回被抓取网页上的链接。默认返回的链接都是收录域名的链接。
  提交($URI,$formvars)
  此方法将表单提交到指定的 $URI。 $formvars 是要传递的表单变量数组。
  提交文本($URI,$formvars)
  该方法与submit()基本相同,只是返回的是文本,不包括html标签等无关数据。
  提交链接($URI)
  此方法返回链接。
  上一篇:几种主流PHP框架的优缺点对比_PHP教程 查看全部

  snoopy php网页抓取工具(PHP类Snoopy的一些特点:*方便网页的文本内容)
  大家知道史努比在PHP类中是什么吗?
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  PHP Snoopy 的一些特性:
  * 方便抓取网页内容
  * 方便抓取网页文字内容(去除HTML标签)
  * 方便抓取网页链接
  * 支持代理主机
  * 支持基本的用户名/密码验证
  * 支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  * 支持浏览器转向,可控制转向深度
  * 可以将网页中的链接扩展为高质量的url(默认)
  * 方便提交数据和获取返回值
  * 支持跟踪 HTML 框架(v0.92 添加)
  * 支持再次重定向时传递 cookie(v0.92 增加)
  PHP类Snoopy的正确运行需要您服务器的PHP版本为4以上,并且支持PCRE(Perl Compatible Regular Expressions),并且支持所有基本的LAMP服务。
  它提供了以下接口或方法:
  获取($URI)
  这个方法是抓取网页的内容,$URI是要抓取的网页的网址,结果存放在$this->results中。如果抓取一帧,每一帧都会被抓取,结果保存在一个数组中。
  fetchtext($URI)
  该方法与fetch()大致相同,只是结果是文本,不包括HTML标签等无关信息。
  fetchform($URI)
  该方法只返回被抓取网页上的表单元素。
  fetchlinks($URI)
  该方法只返回被抓取网页上的链接。默认返回的链接都是收录域名的链接。
  提交($URI,$formvars)
  此方法将表单提交到指定的 $URI。 $formvars 是要传递的表单变量数组。
  提交文本($URI,$formvars)
  该方法与submit()基本相同,只是返回的是文本,不包括html标签等无关数据。
  提交链接($URI)
  此方法返回链接。
  上一篇:几种主流PHP框架的优缺点对比_PHP教程

snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))

网站优化优采云 发表了文章 • 0 个评论 • 88 次浏览 • 2021-11-11 20:09 • 来自相关话题

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网: 查看全部

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网:

snoopy php网页抓取工具(主流的爬虫Nutch开发语言:与Nutch比较:二者均为Java开源框架)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-11-06 23:21 • 来自相关话题

  snoopy php网页抓取工具(主流的爬虫Nutch开发语言:与Nutch比较:二者均为Java开源框架)
  主流爬虫
  纳奇
  开发语言:Java
  主页:
  介绍:
  Apache的子项目之一是Lucene项目下的子项目。
  Nutch 是一个完整的网络搜索引擎解决方案,基于 Lucene,类似于 Google。基于Hadoop的分布式处理模型保证了系统的性能。类似Eclipse的插件机制保证了系统可以定制,并且很容易集成到自己的应用程序中。之中。
  拉宾
  开发语言:C++
  主页:
  介绍:
  Larbin 是一个开源的网络爬虫/网络蜘蛛,由法国年轻人 Sébastien Ailleret 独立开发。larbin 的目的是能够跟踪页面的 URL 进行扩展抓取,最终为搜索引擎提供广泛的数据源。
  larbin只是一个爬虫,也就是说larbin只爬网页,如何解析是用户自己做的。此外,larbin 没有提供有关如何将其存储在数据库中和构建索引的信息。
  latbin 最初的设计也是基于设计简单但可配置性高的原则,所以我们可以看到,一个简单的 larbin 爬虫每天可以获取 500 万个网页,非常高效。
  赫里特克斯
  开发语言:Java
  主页:
  与纳奇相比:
  两者都是 Java 开源框架。Heritrix 是 SourceForge 上的开源产品,Nutch 是 Apache 的子项目。他们都被称为网络爬虫。它们的实现原理基本一致:深度遍历网站在本地捕获这些资源,使用的方法是分析每个有效的URI网站,并提交一个Http请求得到相应的结果,生成本地文件和相应的日志信息等。
  Heritrix 是一个“档案爬虫”——用于获取网站内容的完整、准确、深层副本。包括获取图片等非文字内容。抓取并存储相关内容。不拒绝任何内容,不对页面进行任何内容修改。重新抓取不会替换同一 URL 的前一次抓取。通过Web用户界面启动、监控和调整爬虫,可以灵活定义获取URL。
  两者的区别:
  Nutch 只获取和保存可索引的内容。Heritrix 接受这一切。力求保留页面的原创外观。
  Nutch 可以修剪内容,或转换内容格式。
  Nutch 以数据库优化的格式保存内容以备将来索引;刷新并替换旧内容。而 Heritrix 正在添加(追加)新的内容。
  Nutch 是从命令行运行和控制的。Heritrix 有一个网页控制管理界面。
  Nutch 的定制能力还不够强大,但现在已经改进了。Heritrix 可以控制更多的参数。
  Heritrix 提供的功能没有 nutch 多,感觉就像从整个站点下载一样。既没有索引也没有解析,即使是重复爬取网址也不是很好。
  Heritrix 功能强大,但是配置起来有点麻烦。
  其他爬虫
  网络学习
  WebLech 是一个强大的网站下载和镜像工具。支持根据功能需求下载网站,并尽可能模仿标准网页浏览器的行为。WebLech 有功能控制台,使用多线程操作。
  阿拉蕾
  Arale 主要是为个人使用而设计的,不像其他爬虫那样专注于页面索引。Arale 可以下载整个网站或网站上的部分资源。Arale 还可以将动态页面映射到静态页面。
  J-蜘蛛
  J-Spider:是一个完全可配置和可定制的 Web Spider 引擎。可以用它来检查网站错误(内部服务器错误等),网站内外链接检查,分析网站的结构(可以创建一个网站@ &gt; map),下载整个网站,也可以写一个JSpider插件扩展你需要的功能。
  主轴
  Spindle 是一个建立在 Lucene 工具包上的 Web 索引/搜索工具。它包括一个用于创建索引的 HTTP 蜘蛛和一个用于搜索这些索引的搜索类。主轴项目提供了一组JSP标签库,让那些基于JSP的站点无需开发任何Java类就可以添加搜索功能。
  蛛形纲动物
  Arachnid:是一个基于 Java 的网络蜘蛛框架。它收录一个简单的 HTML 解析器,可以分析收录 HTML 内容的输入流。通过实现Arachnid子类,可以开发一个简单的网络蜘蛛,可以在每一个网站中使用 解析一个页面后,添加几行代码调用。Arachnid 下载包中收录两个蜘蛛应用程序示例,用于演示如何使用该框架。
  警报器
  LARM 可以为 Jakarta Lucene 搜索引擎框架的用户提供纯 Java 搜索解决方案。它收录索引文件、数据库表和用于索引网站的爬虫的方法。
  乔博
  JoBo 是一个用于下载整个网站的简单工具。它本质上是一个网络蜘蛛。与其他下载工具相比,它的主要优点是能够自动填写表单(如自动登录)和使用cookies来处理会话。JoBo 还具有灵活的下载规则(如:URL、大小、MIME 类型等)来限制下载。
  snoics-爬行动物
  snoics -reptile 是用纯 Java 开发的。它是用于捕获 网站 图像的工具。您可以使用配置文件中提供的 URL 条目来传输所有可以通过浏览器 GET 的 网站。这种方式获取的所有资源都是本地抓取的,包括网页和各类文件,如图片、flash、mp3、zip、rar、exe等文件。整个网站可以完全转移到硬盘上,保持原有的网站结构准确不变。只需将捕获到的网站放入Web服务器(如Apache)即可实现完整的网站镜像。
  网络收获
  Web-Harvest 是一个 Java 开源 Web 数据提取工具。它可以采集指定的网页并从这些网页中提取有用的数据。Web-Harvest主要使用XSLT、XQuery、正则表达式等技术来实现text/xml的操作。
  蜘蛛侠
  Spiderpy 是一个基于 Python 编码的开源网络爬虫工具,允许用户采集文件和搜索网站,并具有可配置的界面。
  蜘蛛网网络 Xoops Mod 团队
  pider Web Network Xoops Mod 是 Xoops 下的一个模块,完全由 PHP 语言实现。
  蜘蛛侠
  Hispider 是一种快速、高性能的蜘蛛,速度快
  严格来说只能是蜘蛛系统的框架。没有详细的要求。目前只能提取URL、URL重复、异步DNS解析、队列任务、支持N机分布式下载、支持网站定向下载((需要配置hispiderd.ini白名单)。
  特点及用途:
  基于unix/linux系统开发
  异步 DNS 解析
  URL 重新加权 查看全部

  snoopy php网页抓取工具(主流的爬虫Nutch开发语言:与Nutch比较:二者均为Java开源框架)
  主流爬虫
  纳奇
  开发语言:Java
  主页:
  介绍:
  Apache的子项目之一是Lucene项目下的子项目。
  Nutch 是一个完整的网络搜索引擎解决方案,基于 Lucene,类似于 Google。基于Hadoop的分布式处理模型保证了系统的性能。类似Eclipse的插件机制保证了系统可以定制,并且很容易集成到自己的应用程序中。之中。
  拉宾
  开发语言:C++
  主页:
  介绍:
  Larbin 是一个开源的网络爬虫/网络蜘蛛,由法国年轻人 Sébastien Ailleret 独立开发。larbin 的目的是能够跟踪页面的 URL 进行扩展抓取,最终为搜索引擎提供广泛的数据源。
  larbin只是一个爬虫,也就是说larbin只爬网页,如何解析是用户自己做的。此外,larbin 没有提供有关如何将其存储在数据库中和构建索引的信息。
  latbin 最初的设计也是基于设计简单但可配置性高的原则,所以我们可以看到,一个简单的 larbin 爬虫每天可以获取 500 万个网页,非常高效。
  赫里特克斯
  开发语言:Java
  主页:
  与纳奇相比:
  两者都是 Java 开源框架。Heritrix 是 SourceForge 上的开源产品,Nutch 是 Apache 的子项目。他们都被称为网络爬虫。它们的实现原理基本一致:深度遍历网站在本地捕获这些资源,使用的方法是分析每个有效的URI网站,并提交一个Http请求得到相应的结果,生成本地文件和相应的日志信息等。
  Heritrix 是一个“档案爬虫”——用于获取网站内容的完整、准确、深层副本。包括获取图片等非文字内容。抓取并存储相关内容。不拒绝任何内容,不对页面进行任何内容修改。重新抓取不会替换同一 URL 的前一次抓取。通过Web用户界面启动、监控和调整爬虫,可以灵活定义获取URL。
  两者的区别:
  Nutch 只获取和保存可索引的内容。Heritrix 接受这一切。力求保留页面的原创外观。
  Nutch 可以修剪内容,或转换内容格式。
  Nutch 以数据库优化的格式保存内容以备将来索引;刷新并替换旧内容。而 Heritrix 正在添加(追加)新的内容。
  Nutch 是从命令行运行和控制的。Heritrix 有一个网页控制管理界面。
  Nutch 的定制能力还不够强大,但现在已经改进了。Heritrix 可以控制更多的参数。
  Heritrix 提供的功能没有 nutch 多,感觉就像从整个站点下载一样。既没有索引也没有解析,即使是重复爬取网址也不是很好。
  Heritrix 功能强大,但是配置起来有点麻烦。
  其他爬虫
  网络学习
  WebLech 是一个强大的网站下载和镜像工具。支持根据功能需求下载网站,并尽可能模仿标准网页浏览器的行为。WebLech 有功能控制台,使用多线程操作。
  阿拉蕾
  Arale 主要是为个人使用而设计的,不像其他爬虫那样专注于页面索引。Arale 可以下载整个网站或网站上的部分资源。Arale 还可以将动态页面映射到静态页面。
  J-蜘蛛
  J-Spider:是一个完全可配置和可定制的 Web Spider 引擎。可以用它来检查网站错误(内部服务器错误等),网站内外链接检查,分析网站的结构(可以创建一个网站@ &gt; map),下载整个网站,也可以写一个JSpider插件扩展你需要的功能。
  主轴
  Spindle 是一个建立在 Lucene 工具包上的 Web 索引/搜索工具。它包括一个用于创建索引的 HTTP 蜘蛛和一个用于搜索这些索引的搜索类。主轴项目提供了一组JSP标签库,让那些基于JSP的站点无需开发任何Java类就可以添加搜索功能。
  蛛形纲动物
  Arachnid:是一个基于 Java 的网络蜘蛛框架。它收录一个简单的 HTML 解析器,可以分析收录 HTML 内容的输入流。通过实现Arachnid子类,可以开发一个简单的网络蜘蛛,可以在每一个网站中使用 解析一个页面后,添加几行代码调用。Arachnid 下载包中收录两个蜘蛛应用程序示例,用于演示如何使用该框架。
  警报器
  LARM 可以为 Jakarta Lucene 搜索引擎框架的用户提供纯 Java 搜索解决方案。它收录索引文件、数据库表和用于索引网站的爬虫的方法。
  乔博
  JoBo 是一个用于下载整个网站的简单工具。它本质上是一个网络蜘蛛。与其他下载工具相比,它的主要优点是能够自动填写表单(如自动登录)和使用cookies来处理会话。JoBo 还具有灵活的下载规则(如:URL、大小、MIME 类型等)来限制下载。
  snoics-爬行动物
  snoics -reptile 是用纯 Java 开发的。它是用于捕获 网站 图像的工具。您可以使用配置文件中提供的 URL 条目来传输所有可以通过浏览器 GET 的 网站。这种方式获取的所有资源都是本地抓取的,包括网页和各类文件,如图片、flash、mp3、zip、rar、exe等文件。整个网站可以完全转移到硬盘上,保持原有的网站结构准确不变。只需将捕获到的网站放入Web服务器(如Apache)即可实现完整的网站镜像。
  网络收获
  Web-Harvest 是一个 Java 开源 Web 数据提取工具。它可以采集指定的网页并从这些网页中提取有用的数据。Web-Harvest主要使用XSLT、XQuery、正则表达式等技术来实现text/xml的操作。
  蜘蛛侠
  Spiderpy 是一个基于 Python 编码的开源网络爬虫工具,允许用户采集文件和搜索网站,并具有可配置的界面。
  蜘蛛网网络 Xoops Mod 团队
  pider Web Network Xoops Mod 是 Xoops 下的一个模块,完全由 PHP 语言实现。
  蜘蛛侠
  Hispider 是一种快速、高性能的蜘蛛,速度快
  严格来说只能是蜘蛛系统的框架。没有详细的要求。目前只能提取URL、URL重复、异步DNS解析、队列任务、支持N机分布式下载、支持网站定向下载((需要配置hispiderd.ini白名单)。
  特点及用途:
  基于unix/linux系统开发
  异步 DNS 解析
  URL 重新加权

snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)

网站优化优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2021-11-04 06:19 • 来自相关话题

  snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)
  Snoopy 是一个非常强大的 PHP 类,可以用来模拟浏览器来完成获取网页内容和发送表单的任务。下面详细介绍Snoopy.class.php的特性和一些常用用法。
  官方网站:(不能打开国外的网站并使用Skyline浏览器)
  下载链接:
  本站下载地址:PHP采集库Snoopy.class.php下载
  以下是史努比的一些功能:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,表单fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展为高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架(v0.92增加)
  11、支持重定向时传递cookie
  备注:Snoopy.class.php 需要 php4 或更高版本。既然是php类,就不需要扩展支持了。服务器不支持 curl 时的最佳选择。
  下面介绍一些常用的类方法:
  获取($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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(Snoopy.class.php的特点和一些常见的用法介绍)
  Snoopy 是一个非常强大的 PHP 类,可以用来模拟浏览器来完成获取网页内容和发送表单的任务。下面详细介绍Snoopy.class.php的特性和一些常用用法。
  官方网站:(不能打开国外的网站并使用Skyline浏览器)
  下载链接:
  本站下载地址:PHP采集库Snoopy.class.php下载
  以下是史努比的一些功能:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,表单fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展为高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架(v0.92增加)
  11、支持重定向时传递cookie
  备注:Snoopy.class.php 需要 php4 或更高版本。既然是php类,就不需要扩展支持了。服务器不支持 curl 时的最佳选择。
  下面介绍一些常用的类方法:
  获取($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 认证用户名,如果有的话

snoopy php网页抓取工具(Snoopy()抓取网页的文本内容(去除HTML标签))

网站优化优采云 发表了文章 • 0 个评论 • 62 次浏览 • 2021-11-03 00:12 • 来自相关话题

  snoopy php网页抓取工具(Snoopy()抓取网页的文本内容(去除HTML标签))
  内容
  什么是史努比?
  Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  官方网站
  史努比(Snoopy),一个可爱的品类~
  你是怎么遇到的?
  因为之前在Hulvlin看到@浪人写的乐讯内部信机,当时觉得有点意思,但是后来使用的时候,发现了一些问题。有时程序中的内信失败,所以我打算修改它。就这样,我认识了史努比。
  史努比的一些特点
  获取网页内容 fetch()
  抓取网页的文本内容(去除HTML标签)fetchtext()
  获取网页链接,表单 fetchlinks() fetchform()
  支持代理主机
  支持基本的用户名/密码验证
  支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  支持浏览器重定向,控制重定向深度
  可以将网页中的链接扩展为高质量的 url(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持在重定向时传递 cookie
  需要php4或以上。既然是php的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法1.fetch($uri)
  这是用于抓取网页内容的方法。$URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  2.fetchtext($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3.fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4.fetchlinks($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  5.提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  6.提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  7.提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性(括号内为默认值)
  $host 连接的主机
  $port 连接端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。(真的)
  $expandlinks 是否完成所有链接以完成地址(true)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(Snoopy()抓取网页的文本内容(去除HTML标签))
  内容
  什么是史努比?
  Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。
  官方网站
  史努比(Snoopy),一个可爱的品类~
  你是怎么遇到的?
  因为之前在Hulvlin看到@浪人写的乐讯内部信机,当时觉得有点意思,但是后来使用的时候,发现了一些问题。有时程序中的内信失败,所以我打算修改它。就这样,我认识了史努比。
  史努比的一些特点
  获取网页内容 fetch()
  抓取网页的文本内容(去除HTML标签)fetchtext()
  获取网页链接,表单 fetchlinks() fetchform()
  支持代理主机
  支持基本的用户名/密码验证
  支持设置user_agent、referer(传入路由)、cookies和header内容(头文件)
  支持浏览器重定向,控制重定向深度
  可以将网页中的链接扩展为高质量的 url(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持在重定向时传递 cookie
  需要php4或以上。既然是php的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法1.fetch($uri)
  这是用于抓取网页内容的方法。$URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  2.fetchtext($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3.fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4.fetchlinks($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  5.提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  6.提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  7.提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性(括号内为默认值)
  $host 连接的主机
  $port 连接端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies,如果有的话
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。(真的)
  $expandlinks 是否完成所有链接以完成地址(true)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话

snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能 )

网站优化优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2021-10-31 23:05 • 来自相关话题

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能
)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn"))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是无法伪装的。相反,那些通过http头(可以防止代理)获取IP的人可以制作自己的IP。
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid,并记下sessionid和验证码值,然后使用snoopy锻造它。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com")){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集:
<p> 查看全部

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能
)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn";))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是无法伪装的。相反,那些通过http头(可以防止代理)获取IP的人可以制作自己的IP。
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid,并记下sessionid和验证码值,然后使用snoopy锻造它。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com";)){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:

";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集
<p>

snoopy php网页抓取工具(Snoopy类的下载地址和下载类下载方法汇总)

网站优化优采云 发表了文章 • 0 个评论 • 76 次浏览 • 2021-10-29 00:02 • 来自相关话题

  snoopy php网页抓取工具(Snoopy类的下载地址和下载类下载方法汇总)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页的内容并发送表单。
  Snoopy 的正确运行需要您服务器的 PHP 版本在 4.0 以上,并且支持 PCRE(Perl Compatible Regular Expressions),以及基本的 LAMP 服务。史努比分类下载地址为:
  一、史努比的一些特点:
  1.抓取网页抓取的内容
  2.获取网页的文本内容(去除HTML标签)fetchtext
  3.获取网页链接,表单获取链接获取表单
  4.支持代理主机
  5.支持基本的用户名/密码验证
  6.支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7.支持浏览器重定向,控制重定向深度
  8.可以将网页中的链接扩展为高质量的url(默认)
  9.提交数据并获取返回值
  10.支持跟踪 HTML 框架
  11. 支持重定向时cookie的传输,php4以上就可以了。既然是php类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  二、类方法:
  获取($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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(Snoopy类的下载地址和下载类下载方法汇总)
  Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页的内容并发送表单。
  Snoopy 的正确运行需要您服务器的 PHP 版本在 4.0 以上,并且支持 PCRE(Perl Compatible Regular Expressions),以及基本的 LAMP 服务。史努比分类下载地址为:
  一、史努比的一些特点:
  1.抓取网页抓取的内容
  2.获取网页的文本内容(去除HTML标签)fetchtext
  3.获取网页链接,表单获取链接获取表单
  4.支持代理主机
  5.支持基本的用户名/密码验证
  6.支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7.支持浏览器重定向,控制重定向深度
  8.可以将网页中的链接扩展为高质量的url(默认)
  9.提交数据并获取返回值
  10.支持跟踪 HTML 框架
  11. 支持重定向时cookie的传输,php4以上就可以了。既然是php类,就不需要扩展支持了,服务器不支持curl时的最佳选择。
  二、类方法:
  获取($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 认证用户名,如果有的话

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

网站优化优采云 发表了文章 • 0 个评论 • 60 次浏览 • 2021-10-28 13:20 • 来自相关话题

  snoopy php网页抓取工具(: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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(: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 认证用户名,如果有的话

snoopy php网页抓取工具(PHP5.3.阅读全文PHP-FPM配置及使用总结(组图))

网站优化优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2021-10-27 18:03 • 来自相关话题

  snoopy php网页抓取工具(PHP5.3.阅读全文PHP-FPM配置及使用总结(组图))
  阿里云&gt;云栖社区&gt;主题图&gt;P&gt;php网页错误追踪
  
  推荐活动:
  更多优惠&gt;
  当前主题:php网页错误跟踪添加到采集夹
  相关话题:
  php网页错误跟踪相关博客查看更多博客
  基于鼠标点击跟踪的用户点击行为...
  
  
  作者:白占堂1001人浏览评论:08年前
  想知道你的网站设计是否合理?您确定您的按钮和链接放置在它们应有的位置吗?您想确切地知道用户对页面感兴趣的位置吗?没有人能猜到用户喜欢什么。那些“我认为”和“我认为”都是无稽之谈。你有数据吗?前阵子看到车东的《基于鼠标点击的用户点跟踪》。
  阅读全文
  PHP性能调优---PHP-FPM配置及使用总结
  
  
  作者:suboysugar1589 人浏览评论:04年前
  PHP-FPM 配置和使用总结:php-FPM 是一个 PHP FastCGI 管理器。它实际上是一个 PHP 源代码的补丁。它旨在将 FastCGI 进程管理引入 PHP 软件包。我们必须将其修补到 PHP 源代码中。在代码中,然后编译它才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:科技小哥 1381人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:技术小哥 1372人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP snooping 介绍 采集 class snoopy
  
  
  作者:thinkyoung708人浏览评论:06年前
  PHP爬虫采集类snoopy介绍了一个PHP爬虫程序,写于2011年7月4日,已阅读10270次。谢谢参考或原服务器。花了 14.288 ms 进行了 2 次数据库查询,努力为您提供此页面。试试阅读模式?希望
  阅读全文
  snoopy(强大的PHP采集类)详细介绍
  
  
  作者:suboysugar797人浏览评论:06年前
  史努比是一个php类,用来模拟浏览器的功能。它可以获取网页内容并发送表格。可以用来开发一些采集程序和小偷程序。这个文章详细介绍了snoopy的使用。Snoopy 的一些功能: fetch 网页内容 fetch fetch 网页文字内容(去除 HTML 标签) fetch
  阅读全文
  linux网站 构建示例
  
  
  作者:小科技达人1492人浏览评论:03年前
  我们知道windows网站的搭建一般是:IIS+Asp+Sqlserver,linux网站的搭建是:Apache+php+Mysql。两者是有区别的,但是为什么我们很多门户网站网站都选择linux-apache+php+mysql?当然它的安全性,Ap
  阅读全文
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12)
  
  
  作者:小科技专家1263人浏览评论:03年前
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12) 系统环境:centos 5.6 (x64)+Nginx 1.0.4+Mysql 5.@ &gt; 5.12 + PHP 5.3.6 包裹存放位置/us
  阅读全文 查看全部

  snoopy php网页抓取工具(PHP5.3.阅读全文PHP-FPM配置及使用总结(组图))
  阿里云&gt;云栖社区&gt;主题图&gt;P&gt;php网页错误追踪
  
  推荐活动:
  更多优惠&gt;
  当前主题:php网页错误跟踪添加到采集
  相关话题:
  php网页错误跟踪相关博客查看更多博客
  基于鼠标点击跟踪的用户点击行为...
  
  
  作者:白占堂1001人浏览评论:08年前
  想知道你的网站设计是否合理?您确定您的按钮和链接放置在它们应有的位置吗?您想确切地知道用户对页面感兴趣的位置吗?没有人能猜到用户喜欢什么。那些“我认为”和“我认为”都是无稽之谈。你有数据吗?前阵子看到车东的《基于鼠标点击的用户点跟踪》。
  阅读全文
  PHP性能调优---PHP-FPM配置及使用总结
  
  
  作者:suboysugar1589 人浏览评论:04年前
  PHP-FPM 配置和使用总结:php-FPM 是一个 PHP FastCGI 管理器。它实际上是一个 PHP 源代码的补丁。它旨在将 FastCGI 进程管理引入 PHP 软件包。我们必须将其修补到 PHP 源代码中。在代码中,然后编译它才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:科技小哥 1381人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP-FPM 配置及使用总结
  
  
  作者:技术小哥 1372人浏览评论:03年前
  PHP-FPM配置及使用总结:PHP-FPM是一个PHP FastCGI管理器,它其实是一个PHP源代码的补丁,旨在将FastCGI进程管理引入到PHP软件包中,我们必须将其打到PHP源代码中,然后编译才可以使用。现在我们可以使用 PHP 5.3.
  阅读全文
  PHP snooping 介绍 采集 class snoopy
  
  
  作者:thinkyoung708人浏览评论:06年前
  PHP爬虫采集类snoopy介绍了一个PHP爬虫程序,写于2011年7月4日,已阅读10270次。谢谢参考或原服务器。花了 14.288 ms 进行了 2 次数据库查询,努力为您提供此页面。试试阅读模式?希望
  阅读全文
  snoopy(强大的PHP采集类)详细介绍
  
  
  作者:suboysugar797人浏览评论:06年前
  史努比是一个php类,用来模拟浏览器的功能。它可以获取网页内容并发送表格。可以用来开发一些采集程序和小偷程序。这个文章详细介绍了snoopy的使用。Snoopy 的一些功能: fetch 网页内容 fetch fetch 网页文字内容(去除 HTML 标签) fetch
  阅读全文
  linux网站 构建示例
  
  
  作者:小科技达人1492人浏览评论:03年前
  我们知道windows网站的搭建一般是:IIS+Asp+Sqlserver,linux网站的搭建是:Apache+php+Mysql。两者是有区别的,但是为什么我们很多门户网站网站都选择linux-apache+php+mysql?当然它的安全性,Ap
  阅读全文
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12)
  
  
  作者:小科技专家1263人浏览评论:03年前
  CentOS下编译安装LNMP平台5.6(X64)(Nginx1.0.4+PHP5.3.6+Mysql5.5.12) 系统环境:centos 5.6 (x64)+Nginx 1.0.4+Mysql 5.@ &gt; 5.12 + PHP 5.3.6 包裹存放位置/us
  阅读全文

snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))

网站优化优采云 发表了文章 • 0 个评论 • 86 次浏览 • 2021-10-26 14:04 • 来自相关话题

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网: 查看全部

  snoopy php网页抓取工具(模拟浏览器获取网页内容和发送表单的方法:Snoopy($URI))
  Snoopy 是一个 php采集 类,用于模拟浏览器获取网页内容和发送表单。
  以下是史努比的一些功能:
  史努比类,方法:
  获取($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标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性:(括号内为默认值)
  史努比官网:

snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)

网站优化优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-10-26 14:02 • 来自相关话题

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  爬取前记得将php.ini中的max_execution_time设置为较大的值,否则会报错。
  
  一、使用Snoopy.class.php抓取页面
  
  一个非常可爱的班级名称。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  
  2)我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,稍后分析使用。<//p
pimg src='https://www.programminghunter.com/images/771/48/48304ba5e6f9fe08f3fa1abda7d326ab.gif' alt='复制代码'//p
ppre$snoopy=new Snoopy();
//医院list页面
for($i = 1; $i = 10; $i++) {
$url = 'http://www.guahao.com/hospital/areahospitals?p=全国&pageNo=' . $i;
$snoopy-fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3)奇怪的是,返回的内容不是国家内容,而是上海相关内容
  
  4)怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  
  5)在请求中放入cookie的值,添加设置语句$snoopy->cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,DOM结构如下图所示:
  
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ 工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($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
  连接的主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机,如果有的话
  $proxy_port
  使用的代理主机端口,如果有的话
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  访问信息,如果有的话
  $cookies
  Cookies,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。 (真实)
  $expandlinks
  是否补全链接地址(真)
  $用户
  经过身份验证的用户名(如果有)
  $pass
  经过身份验证的用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $maxlength
  最长返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,该属性返回true(需要PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态 查看全部

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  爬取前记得将php.ini中的max_execution_time设置为较大的值,否则会报错。
  
  一、使用Snoopy.class.php抓取页面
  
  一个非常可爱的班级名称。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国各地医院的信息内容,如下图:
  
  2)我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,稍后分析使用。<//p
pimg src='https://www.programminghunter.com/images/771/48/48304ba5e6f9fe08f3fa1abda7d326ab.gif' alt='复制代码'//p
ppre$snoopy=new Snoopy();
//医院list页面
for($i = 1; $i = 10; $i++) {
$url = 'http://www.guahao.com/hospital/areahospitals?p=全国&pageNo=' . $i;
$snoopy-fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3)奇怪的是,返回的内容不是国家内容,而是上海相关内容
  
  4)怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  
  5)在请求中放入cookie的值,添加设置语句$snoopy->cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,DOM结构如下图所示:
  
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ 工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($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
  连接的主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机,如果有的话
  $proxy_port
  使用的代理主机端口,如果有的话
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  访问信息,如果有的话
  $cookies
  Cookies,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。 (真实)
  $expandlinks
  是否补全链接地址(真)
  $用户
  经过身份验证的用户名(如果有)
  $pass
  经过身份验证的用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $maxlength
  最长返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,该属性返回true(需要PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态

snoopy php网页抓取工具(php类Snoopy的特点及特点分析-上海怡健医学)

网站优化优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2021-10-26 14:01 • 来自相关话题

  snoopy php网页抓取工具(php类Snoopy的特点及特点分析-上海怡健医学)
  Snoopy 是一个 php 类,用于模拟浏览器的一些简单功能,可以获取网页内容、发送表单等操作。 Snoopy 需要您服务器的 PHP 版本 4 或更高版本才能正确运行,并且支持 PCRE(Perl Compatible Regular Expressions),并且支持所有基本的 LAMP 服务。既然是php类,不需要扩展支持,所以是服务器不支持curl时的最佳选择。
  史努比的特点:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,形成fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展成高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架
  11、支持重定向时传递cookie
  史努比类下载链接:
  史努比类方法:
  获取($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 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(php类Snoopy的特点及特点分析-上海怡健医学)
  Snoopy 是一个 php 类,用于模拟浏览器的一些简单功能,可以获取网页内容、发送表单等操作。 Snoopy 需要您服务器的 PHP 版本 4 或更高版本才能正确运行,并且支持 PCRE(Perl Compatible Regular Expressions),并且支持所有基本的 LAMP 服务。既然是php类,不需要扩展支持,所以是服务器不支持curl时的最佳选择。
  史努比的特点:
  1、抓取网页抓取的内容
  2、获取网页的文本内容(去除HTML标签)fetchtext
  3、获取网页链接,形成fetchlinks fetchform
  4、支持代理主机
  5、支持基本用户名/密码验证
  6、支持设置user_agent、referer(来源)、cookies和header内容(头文件)
  7、支持浏览器重定向,控制重定向深度
  8、可以将网页中的链接扩展成高质量的url(默认)
  9、提交数据并获取返回值
  10、支持跟踪HTML框架
  11、支持重定向时传递cookie
  史努比类下载链接:
  史努比类方法:
  获取($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 认证用户名,如果有的话

snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2021-10-21 00:01 • 来自相关话题

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国医院的信息内容,如下图:
  2) 我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  5) 在请求中放入cookie的值,并添加设置语句$snoopy-&gt;cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态 查看全部

  snoopy php网页抓取工具(php.ini中的max_execution设置设置的大点软件)
  在进行爬取之前,记得把php.ini中的max_execution_time设置为较大的值,否则会报错。
  一、 使用 Snoopy.class.php 抓取页面
  一个很可爱的类名。功能也很强大,用来模拟浏览器的功能,可以获取网页内容,发送表单等等。
  1)我要抓取网站的一个列表页的内容,我要抓取的是全国医院的信息内容,如下图:
  2) 我自然是复制URL地址,使用Snoopy类抓取前10页的内容,并将内容放到本地,在本地创建一个html文件,供以后分析使用。
  
  $snoopy=new Snoopy();
//医院list页面
for($i = 1; $i fetch($url);
file_put_contents("web/page/$i.html", $snoopy->results);
}
echo 'success';
  
  3) 奇怪的是,返回的内容不是国家内容,而是与上海相关的内容。
  4) 怀疑里面可能设置了cookie,然后用firebug查看了一下,果然有惊人的内幕
  5) 在请求中放入cookie的值,并添加设置语句$snoopy-&gt;cookies["_area_"],情况大不相同,顺利返回国家信息。
  $snoopy=new Snoopy();
//医院list页面
$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';
for($i = 1; $i results;
}
  2)使用phpQuery获取节点信息,如下DOM结构所示:
  使用一些phpQuery方法,结合DOM结构读取各个医院信息的URL地址。
  
  for($i = 1; $i attr('href')); //医院详情
}
}
  
  3)根据读取到的URL地址列表,抓取指定页面。
  
  $detailIndex = 1;
for($i = 1; $i results);
$detailIndex++;
}
}
  
  FQ工具下载:
  克服障碍.rar
  演示下载:
  史努比类的一些说明:
  类方法
  获取($URI)
  这是用于抓取网页内容的方法。
  $URI 参数是被爬取的网页的 URL 地址。
  获取的结果存储在 $this-&gt;results 中。
  如果你正在抓取一帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this-&gt;results 中。
  获取文本($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  获取链接($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  提交($URI,$formvars)
  此方法向 $URL 指定的链接地址发送确认表单。$formvars 是一个存储表单参数的数组。
  提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,并且只返回登录后网页中的文本内容。
  提交链接($URI)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接将自动完成并转换为完整的 URL。
  类属性
  $host
  连接主机
  $端口
  连接端口
  $proxy_host
  使用的代理主机(如果有)
  $proxy_port
  使用的代理主机端口(如果有)
  $代理
  用户代理伪装(史努比 v0.1)
  $referer
  信息,如果有
  $cookies
  饼干,如果有的话
  $rawheaders
  其他标题信息,如果有的话
  $maxredirs
  最大重定向次数,0=不允许 (5)
  $offsiteok
  是否允许异地重定向。(真的)
  $expandlinks
  是否完成所有链接完成地址(true)
  $用户
  身份验证用户名(如果有)
  $pass
  身份验证用户名(如果有)
  $接受
  http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
  $错误
  在哪里报告错误,如果有的话
  $response_code
  服务器返回的响应码
  $headers
  服务器返回的头部信息
  $最大长度
  最大返回数据长度
  $read_timeout
  读取操作超时(需要 PHP 4 Beta 4+),设置为 0 表示没有超时
  $timed_out
  如果读取操作超时,则此属性返回 true(需要 PHP 4 Beta 4+)
  $maxframes
  允许跟踪的最大帧数
  $状态

snoopy php网页抓取工具(phpsnoopy用法:Snoopy($URI)类方法及示例)

网站优化优采云 发表了文章 • 0 个评论 • 83 次浏览 • 2021-10-20 12:07 • 来自相关话题

  snoopy php网页抓取工具(phpsnoopy用法:Snoopy($URI)类方法及示例)
  php snoopy 用法:1、[fetch($URI)] 抓取网页内容; 2、[fetchtext($URI)] 删除 HTML 标签和其他无关数据; 3、【fetchform($URI)】返回网页中表单的内容。
  
  本教程运行环境:windows7系统,PHP5.6版本,DELL G3电脑。
  php snoopy 用法:
  史努比类方法和示例:
  1、fetch($URI)
  这是用来抓取网页内容的方法。
  $URI 参数是被抓取网页的 URL 地址。
  获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2、fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3、fetchform($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4、fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  5、提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6、提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7、提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies(如果有)
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。 (真实)
  $expandlinks 是否完成所有链接以完成地址(真实)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话 查看全部

  snoopy php网页抓取工具(phpsnoopy用法:Snoopy($URI)类方法及示例)
  php snoopy 用法:1、[fetch($URI)] 抓取网页内容; 2、[fetchtext($URI)] 删除 HTML 标签和其他无关数据; 3、【fetchform($URI)】返回网页中表单的内容。
  
  本教程运行环境:windows7系统,PHP5.6版本,DELL G3电脑。
  php snoopy 用法:
  史努比类方法和示例:
  1、fetch($URI)
  这是用来抓取网页内容的方法。
  $URI 参数是被抓取网页的 URL 地址。
  获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2、fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3、fetchform($URI)
  该方法与fetch()类似,唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4、fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  5、提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6、提交文本($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7、提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。
  默认情况下,相对链接会自动补全并转换成完整的网址。
  Snoopy采集Class 属性:(括号内为默认值)
  $host 连接的主机
  $port 连接的端口
  $proxy_host 使用的代理主机,如果有的话
  $proxy_port 使用的代理主机端口,如果有的话
  $agent 用户代理伪装(史努比 v0.1)
  $referer 传入信息,如果有的话
  $cookies cookies(如果有)
  $rawheaders 其他头信息,如果有的话
  $maxredirs 最大重定向次数,0=不允许 (5)
  $offsiteok 是否允许异地重定向。 (真实)
  $expandlinks 是否完成所有链接以完成地址(真实)
  $user 认证用户名,如果有的话
  $pass 认证用户名,如果有的话

snoopy php网页抓取工具(作者MonteOhrt类版本V2.0三、类的特性)

网站优化优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2021-10-15 06:13 • 来自相关话题

  snoopy php网页抓取工具(作者MonteOhrt类版本V2.0三、类的特性)
  Monte Ohrt 类的作者
  V2.0 类的版本
  三、 类的特点
  回到书中,我们先了解一下它的特点,掌握它的特点对我们理解它有很大的帮助!
  1、方便抓取网页的内容 fetch
2、方便抓取网页的文字(去掉HTML代码)fetchtext
3、方便抓取网页的链接 fetchlinks
4、支持代理主机
5、支持基本的用户/密码认证模式
6、支持自定义用户agent,referer,cookies和header内容
7、支持浏览器转向,并能控制转向深度
8、能把网页中的链接扩展成高质量的url(默认)
9、方便提交数据并且获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持再转向的时候传递cookies
  四、类方法
  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,$formvars)
本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。默认情况下,相对链接将自动补全,转换成完整的URL。
  五、 类属性(括号内为默认值)
  $host 连接的主机
$port 连接的端口
$proxy_host 使用的代理主机,如果有的话
$proxy_port 使用的代理主机端口,如果有的话
$agent 用户代理伪装 (Snoopy v0.1)
$referer 来路信息,如果有的话
$cookies,如果有的话
$rawheaders 其他的头信息, 如果有的话
$maxredirs 最大重定向次数,0=不允许 (5)
$offsiteok whether or not to allow redirects off-site. (true)
$expandlinks 是否将链接都补全为完整地址 (true)
$user 认证用户名, 如果有的话
$pass 认证用户名, 如果有的话
$accept http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
$error 哪里报错, 如果有的话
$response_code 从服务器返回的响应代码
$headers 从服务器返回的头信息
$maxlength 最长返回数据长度
$read_timeout 读取操作超时 (requires PHP 4 Beta 4+) 设置为0为没有超时
$timed_out 如果一次读取操作超时了,本属性返回 true (requires PHP 4 Beta 4+)
$maxframes 允许追踪的框架最大数量
$status 抓取的http的状态
$temp_dir 网页服务器能够写入的临时文件目录 (/tmp)
$curl_path cURL binary 的目录, 如果没有cURL binary就设置为 false
  六、如何使用类
  以下示例均来自本站,方便大家理解。但是在使用模拟登录的时候,应该自己下载一些例子来演示,不要用我的网站玩,哈哈...
  1、fetch 获取网页内容,示例
  源代码如下:
<p> 查看全部

  snoopy php网页抓取工具(作者MonteOhrt类版本V2.0三、类的特性)
  Monte Ohrt 类的作者
  V2.0 类的版本
  三、 类的特点
  回到书中,我们先了解一下它的特点,掌握它的特点对我们理解它有很大的帮助!
  1、方便抓取网页的内容 fetch
2、方便抓取网页的文字(去掉HTML代码)fetchtext
3、方便抓取网页的链接 fetchlinks
4、支持代理主机
5、支持基本的用户/密码认证模式
6、支持自定义用户agent,referer,cookies和header内容
7、支持浏览器转向,并能控制转向深度
8、能把网页中的链接扩展成高质量的url(默认)
9、方便提交数据并且获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持再转向的时候传递cookies
  四、类方法
  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,$formvars)
本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。默认情况下,相对链接将自动补全,转换成完整的URL。
  五、 类属性(括号内为默认值)
  $host 连接的主机
$port 连接的端口
$proxy_host 使用的代理主机,如果有的话
$proxy_port 使用的代理主机端口,如果有的话
$agent 用户代理伪装 (Snoopy v0.1)
$referer 来路信息,如果有的话
$cookies,如果有的话
$rawheaders 其他的头信息, 如果有的话
$maxredirs 最大重定向次数,0=不允许 (5)
$offsiteok whether or not to allow redirects off-site. (true)
$expandlinks 是否将链接都补全为完整地址 (true)
$user 认证用户名, 如果有的话
$pass 认证用户名, 如果有的话
$accept http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
$error 哪里报错, 如果有的话
$response_code 从服务器返回的响应代码
$headers 从服务器返回的头信息
$maxlength 最长返回数据长度
$read_timeout 读取操作超时 (requires PHP 4 Beta 4+) 设置为0为没有超时
$timed_out 如果一次读取操作超时了,本属性返回 true (requires PHP 4 Beta 4+)
$maxframes 允许追踪的框架最大数量
$status 抓取的http的状态
$temp_dir 网页服务器能够写入的临时文件目录 (/tmp)
$curl_path cURL binary 的目录, 如果没有cURL binary就设置为 false
  六、如何使用类
  以下示例均来自本站,方便大家理解。但是在使用模拟登录的时候,应该自己下载一些例子来演示,不要用我的网站玩,哈哈...
  1、fetch 获取网页内容,示例
  源代码如下:
<p>

snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能)

网站优化优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-10-13 08:23 • 来自相关话题

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn"))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid。同时记下sessionid和验证码值,然后用snoopy伪造。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com")){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集:
<p> 查看全部

  snoopy php网页抓取工具(php一个Snoopy的一些功能特点及功能)
  Snoopy 是一个 php 类,用来模仿网页浏览器的功能,它可以完成获取网页内容和发送表单的任务。官方网站
  史努比的一些特点:
  需要 php4 或更高版本。既然是PHP的一类,就不需要扩展支持,服务器不支持curl时的最佳选择。
  类方法
  1. fetch($uri)
  这是用来抓取网页内容的方法。 $URI 参数是被爬取的网页的 URL 地址。获取的结果存储在 $this->results 中。
  如果你正在抓取一个帧,史努比会跟踪每一帧并将其存储在一个数组中,然后将其存储在 $this->results 中。
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  演示
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://www.nowamagic.net/librarys/veda/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.4wei.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://www.4wei.cn";))
{
echo "".htmlspecialchars($snoopy->results)."
  n";}elseecho"获取文档时出错:".$snoopy->error."n";
  获取指定url的内容:
  表单提交:
  既然已经提交了表单,就可以做很多事情了。接下来我们伪装ip,伪装浏览器:
  原来我们可以伪装session和浏览器,伪装ip,哈哈可以做很多事情。比如带验证码,验证ip投票,可以连续投票。
  ps:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何验证验证码,简单说一下:首先,用普通浏览器查看页面,找到验证码对应的sessionid。同时记下sessionid和验证码值,然后用snoopy伪造。
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  有时候我们可能需要锻造更多的东西,史努比完全为我们想到了:
  完整演示
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.baidu.com";)){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."n";

// print the headers:

print "<b>Headers:

";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
}
else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  用史努比类完成一张简单的图片采集
<p>

snoopy php网页抓取工具(603999.SH读者传媒:2017年年度报告获取网页pdf下载地址 )

网站优化优采云 发表了文章 • 0 个评论 • 110 次浏览 • 2021-10-13 00:11 • 来自相关话题

  snoopy php网页抓取工具(603999.SH读者传媒:2017年年度报告获取网页pdf下载地址
)
  任务:批量抓取网页pdf文件
  有一个 excel,其中有数千个指向 pdf 下载链接的网页地址。现在需要批量抓取这些网页地址中的pdf文件。
  Python环境:
  蟒蛇3
  打开pyxl
  Beautifulsoup4 读取excel,获取网页地址
  使用 openpyxl 库读取 .xslx 文件;
  (我尝试使用xlrd库读取.xsl文件,但是无法获取超链接)
  安装 openpyxl
  pip install openpyxl
  提取 xslx 文件中的超链接
  示例文件结构
  公告日期 证券代码公告名称
  2018-04-20
  603999.SH
  读者媒体:2017年年报
  2018-04-28
  603998.SH
  方盛药业:2017年年报
  def readxlsx(path):
workbook = openpyxl.load_workbook(path)
Data_sheet = workbook.get_sheet_by_name('sheet1')
rowNum = Data_sheet.max_row #读取最大行数
c = 3 # 第三列是所需要提取的数据
server = 'http://news.windin.com/ns/'
for row in range(1, rowNum + 1):
link = Data_sheet.cell(row=row, column=c).value
url = re.split(r'\"', link)[1]
print(url)
downEachPdf(url, server)
  获取网页pdf下载地址
  进入阅读媒体:2017年年报,可以在Chrome浏览器中按F12查看网页源码,以下是源码截取:
<p>附件: 查看全部

  snoopy php网页抓取工具(603999.SH读者传媒:2017年年度报告获取网页pdf下载地址
)
  任务:批量抓取网页pdf文件
  有一个 excel,其中有数千个指向 pdf 下载链接的网页地址。现在需要批量抓取这些网页地址中的pdf文件。
  Python环境:
  蟒蛇3
  打开pyxl
  Beautifulsoup4 读取excel,获取网页地址
  使用 openpyxl 库读取 .xslx 文件;
  (我尝试使用xlrd库读取.xsl文件,但是无法获取超链接)
  安装 openpyxl
  pip install openpyxl
  提取 xslx 文件中的超链接
  示例文件结构
  公告日期 证券代码公告名称
  2018-04-20
  603999.SH
  读者媒体:2017年年报
  2018-04-28
  603998.SH
  方盛药业:2017年年报
  def readxlsx(path):
workbook = openpyxl.load_workbook(path)
Data_sheet = workbook.get_sheet_by_name('sheet1')
rowNum = Data_sheet.max_row #读取最大行数
c = 3 # 第三列是所需要提取的数据
server = 'http://news.windin.com/ns/'
for row in range(1, rowNum + 1):
link = Data_sheet.cell(row=row, column=c).value
url = re.split(r'\"', link)[1]
print(url)
downEachPdf(url, server)
  获取网页pdf下载地址
  进入阅读媒体:2017年年报,可以在Chrome浏览器中按F12查看网页源码,以下是源码截取:
<p>附件:

snoopy php网页抓取工具(Snoopy($URI)功能特点及去除和发送表单)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2021-10-10 23:13 • 来自相关话题

  snoopy php网页抓取工具(Snoopy($URI)功能特点及去除和发送表单)
  简介:Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。 **官网:/** ...史努比的一些功能:获取网页内容 fetch() fetch...
  

<p>引言:Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。


  **官方网址:http://snoopy.sourceforge.net/**

  简单一句话表达:"Snoopy是一个php类库,用来模拟浏览器的功能,可以获取网页内容,发送表单。",补一下脑。

   

  Snoopy的一些功能特点:
抓取网页的内容 fetch()抓取网页的文本内容 (去除HTML标签) fetchtext()抓取网页的链接,表单 fetchlinks() fetchform()支持代理主机支持基本的用户名/密码验证支持设置 user_agent, referer(来路), cookies 和 header content(头文件)支持浏览器重定向,并能控制重定向深度能把网页中的链接扩展成高质量的url(默认)提交数据并且获取返回值支持跟踪HTML框架支持重定向的时候传递cookies


  注意:PHP容器要求php4以上就可以。由于本身是php一个类,无需扩支持,它是服务器不支持curl时候的最好选择。


  Come on,跟着SuperDo一起来了解一下Snoopy的使用吧。。。

  

   

  类方法


  下面,我们为大家准备了Snoopy常用的一些类方法。

  1. fetch($uri)[b]

  这是为了抓取网页的内容而使用的方法。$URI参数是被抓取网页的URL地址。抓取的结果被存储在 $this->results 中。

  如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。

</p>
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性(括号内为默认值)
  基本示例
  通用示例:
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://do.org.cn/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://do.org.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://do.org.cn")) {
echo "".htmlspecialchars($snoopy->results)."
  n";} else {echo "error fetching document: ".$snoopy->error."n";}
  获取指定url的内容:
  表单提交:
  伪装ip,伪装浏览器:
  详细说明:
  原来我们可以伪装会话,伪装浏览器,伪装ip,(旁白:猥亵笑HOHO)我们可以做很多事情。
  例如:用验证码投票,验证ip,可以连续投票。
  PS:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何骗取验证码,简单说一下:
  操作方法:先用普通浏览器查看页面,找到验证码对应的sessionid,记下sessionid和验证码的值,然后用snoopy伪造
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  制作其他属性:
  两个综合例子
  马克,有兴趣的可以看看。
  示例 1:
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://do.org.cn/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.google.com")){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."
n";

// print the headers:

print "<b>Headers:[/b]
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
} else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  示例 2:(图片采集)
<p> 查看全部

  snoopy php网页抓取工具(Snoopy($URI)功能特点及去除和发送表单)
  简介:Snoopy是一个php类,用来模仿网页浏览器的功能,可以完成获取网页内容和发送表单的任务。 **官网:/** ...史努比的一些功能:获取网页内容 fetch() fetch...
  

<p>引言:Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。


  **官方网址:http://snoopy.sourceforge.net/**

  简单一句话表达:"Snoopy是一个php类库,用来模拟浏览器的功能,可以获取网页内容,发送表单。",补一下脑。

   

  Snoopy的一些功能特点:
抓取网页的内容 fetch()抓取网页的文本内容 (去除HTML标签) fetchtext()抓取网页的链接,表单 fetchlinks() fetchform()支持代理主机支持基本的用户名/密码验证支持设置 user_agent, referer(来路), cookies 和 header content(头文件)支持浏览器重定向,并能控制重定向深度能把网页中的链接扩展成高质量的url(默认)提交数据并且获取返回值支持跟踪HTML框架支持重定向的时候传递cookies


  注意:PHP容器要求php4以上就可以。由于本身是php一个类,无需扩支持,它是服务器不支持curl时候的最好选择。


  Come on,跟着SuperDo一起来了解一下Snoopy的使用吧。。。

  

   

  类方法


  下面,我们为大家准备了Snoopy常用的一些类方法

  1. fetch($uri)[b]

  这是为了抓取网页的内容而使用的方法。$URI参数是被抓取网页的URL地址。抓取的结果被存储在 $this->results 中。

  如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。

</p>
  2. fetchtext($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的文本内容。
  3. fetchform($URI)
  该方法与fetch()类似,唯一不同的是该方法会去除HTML标签等无关数据,只返回网页中的表单内容(form)。
  4. fetchlinks($URI)
  这个方法和fetch()类似,唯一不同的是这个方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  5. 提交($URI,$formvars)
  此方法向$URL 指定的链接地址发送确认表单。 $formvars 是一个存储表单参数的数组。
  6. submittext($URI,$formvars)
  该方法与submit()类似,唯一不同的是,该方法会去除HTML标签等无关数据,登录后只返回网页中的文本内容。
  7. 提交链接($URI)
  这个方法类似于submit()。唯一不同的是,该方法会去除HTML标签等无关数据,只返回网页中的链接。默认情况下,相对链接会自动补全并转换成完整的网址。
  类属性(括号内为默认值)
  基本示例
  通用示例:
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "http://do.org.cn/";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://do.org.cn";
$snoopy->cookies["SessionID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "joe";
$snoopy->pass = "bloe";
if($snoopy->fetchtext("http://do.org.cn";)) {
echo "".htmlspecialchars($snoopy->results)."
  n";} else {echo "error fetching document: ".$snoopy->error."n";}
  获取指定url的内容:
  表单提交:
  伪装ip,伪装浏览器:
  详细说明:
  原来我们可以伪装会话,伪装浏览器,伪装ip,(旁白:猥亵笑HOHO)我们可以做很多事情。
  例如:用验证码投票,验证ip,可以连续投票。
  PS:这里伪装ip其实就是伪装http头,所以一般通过REMOTE_ADDR获取的IP是不能伪装的,但是通过http头获取IP的(可以防止代理的那种)可以自己做IP .
  关于如何骗取验证码,简单说一下:
  操作方法:先用普通浏览器查看页面,找到验证码对应的sessionid,记下sessionid和验证码的值,然后用snoopy伪造
  原理:因为是同一个sessionid,所以得到的验证码和第一次输入的一样。
  制作其他属性:
  两个综合例子
  马克,有兴趣的可以看看。
  示例 1:
  /**
* You need the snoopy.class.php from
* http://snoopy.sourceforge.net/
*/
include("snoopy.class.php");

$snoopy = new Snoopy;
// need an proxy?:
//$snoopy->proxy_host = "my.proxy.host";
//$snoopy->proxy_port = "8080";

// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://do.org.cn/";

// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";

// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";

// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;

// set username and password (optional)
//$snoopy->user = "joe";
//$snoopy->pass = "bloe";

// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.google.com";)){
// other methods: fetch, fetchform, fetchlinks, submittext and submitlinks

// response code:
print "response code: ".$snoopy->response_code."
n";

// print the headers:

print "<b>Headers:[/b]
";
while(list($key,$val) = each($snoopy->headers)){
print $key.": ".$val."
n";
}

print "
n";

// print the texts of the website:
print htmlspecialchars($snoopy->results)."n";
} else {
print "Snoopy: error while fetching document: ".$snoopy->error."n";
}
  示例 2:(图片采集
<p>

官方客服QQ群

微信人工客服

QQ人工客服


线