php抓取网页snoopy

php抓取网页snoopy

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

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

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

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

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

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

  php抓取网页snoopy(PHP类Snoopy的一些特点:*方便网页的文本内容)
  我们都知道PHP类中的Snoopy是什么
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  PHP类Snoopy的一些功能:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  PHP Snoopy的正确操作要求您的服务器的PHP版本超过4,并且支持PCRE(Perl兼容的正则表达式),基本lamp服务支持PCRE
  它提供以下接口或方法:
  获取($URI)
  此方法用于获取网页的内容,$URI是要捕获的网页的URL,捕获的结果存储在$This->results中。如果抓取一帧,将抓取每个帧,并将结果保存到数组中
  fetchtext($URI)
  此方法与fetch()大致相同,只是其结果是文本,不包括HTML标记和其他无关信息
  fetchform($URI)
  此方法仅返回捕获的网页上的表单元素
  获取链接($URI)
  此方法仅返回捕获的网页上的链接。默认情况下,返回的链接是收录域名的链接
  提交($URI,$formvars)
  此方法将表单提交到指定的$URI$Formvars是要传递的表单变量数组
  submittext($URI,$formvars)
  此方法基本上与submit()相同,但它返回文本,不包括HTML标记和其他不相关的数据
  提交链接($URI)
  此方法返回一个链接
  这些都是PHP类Snoopy的内容。我希望这对你有帮助
  Truetecharticle每个人都知道PHP类中的Snoopy是什么?Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务。PHP类Snoopy的一些特性 查看全部

  php抓取网页snoopy(PHP类Snoopy的一些特点:*方便网页的文本内容)
  我们都知道PHP类中的Snoopy是什么
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  PHP类Snoopy的一些功能:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  PHP Snoopy的正确操作要求您的服务器的PHP版本超过4,并且支持PCRE(Perl兼容的正则表达式),基本lamp服务支持PCRE
  它提供以下接口或方法:
  获取($URI)
  此方法用于获取网页的内容,$URI是要捕获的网页的URL,捕获的结果存储在$This->results中。如果抓取一帧,将抓取每个帧,并将结果保存到数组中
  fetchtext($URI)
  此方法与fetch()大致相同,只是其结果是文本,不包括HTML标记和其他无关信息
  fetchform($URI)
  此方法仅返回捕获的网页上的表单元素
  获取链接($URI)
  此方法仅返回捕获的网页上的链接。默认情况下,返回的链接是收录域名的链接
  提交($URI,$formvars)
  此方法将表单提交到指定的$URI$Formvars是要传递的表单变量数组
  submittext($URI,$formvars)
  此方法基本上与submit()相同,但它返回文本,不包括HTML标记和其他不相关的数据
  提交链接($URI)
  此方法返回一个链接
  这些都是PHP类Snoopy的内容。我希望这对你有帮助
  Truetecharticle每个人都知道PHP类中的Snoopy是什么?Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务。PHP类Snoopy的一些特性

php抓取网页snoopy(如何在PHP中做到这一点,而不需要外部的“模拟器”)

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

  php抓取网页snoopy(如何在PHP中做到这一点,而不需要外部的“模拟器”)
  您可以在 cURL 中执行此操作,而无需外部“模拟器”。
  以下代码会将页面检索到 PHP 变量中进行解析。
  脚本
  有一个页面(我们称之为 HOME)可以打开会话。在服务器端,如果是在 PHP 中,则是第一次调用 session_start()(实际上是任意一次)。在其他语言中,您需要一个特定页面来完成所有会话设置。从客户端,它是提供会话 ID cookie 的页面。在 PHP 中,所有会话页面都可以;在其他语言中,登录页面会这样做,其他人会检查cookie是否存在,如果不存在,则不会创建会话,您将被置于HOME。
  有一个页面(登录)会生成一个登录表单并添加一个带有关键信息的会话——“此用户已经登录”。在下面的代码中,这是需要会话 ID 的页面。
  最后,有N页,有好东西可以刮。
  所以我们要打HOME,然后登录,然后GOODIES一一。在 PHP(和其他语言)中,HOME 和 LOGIN 也可能是同一个页面。或者所有页面都可以共享相同的地址,例如在单个页面应用程序中。
  代码
   $url = "the url generating the session ID"; $next_url = "the url asking for session"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // We do not authenticate, only access page to get a session going. // Change to False if it is not enough (you'll see that cookiefile // remains empty). curl_setopt($ch, CURLOPT_NOBODY, True); // You may want to change User-Agent here, too curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile"); // Just in case curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $ret = curl_exec($ch); // This page we retrieve, and scrape, with GET method foreach(array( CURLOPT_POST => False, // We GET... CURLOPT_NOBODY => False, // ...the body... CURLOPT_URL => $next_url, // ...of $next_url... CURLOPT_BINARYTRANSFER => True, // ...as binary... CURLOPT_RETURNTRANSFER => True, // ...into $ret... CURLOPT_FOLLOWLOCATION => True, // ...following redirections... CURLOPT_MAXREDIRS => 5, // ...reasonably... CURLOPT_REFERER => $url, // ...as if we came from $url... //CURLOPT_COOKIEFILE => 'cookiefile', // Save these cookies //CURLOPT_COOKIEJAR => 'cookiefile', // (already set above) CURLOPT_CONNECTTIMEOUT => 30, // Seconds CURLOPT_TIMEOUT => 300, // Seconds CURLOPT_LOW_SPEED_LIMIT => 16384, // 16 Kb/s CURLOPT_LOW_SPEED_TIME => 15, // ) as $option => $value) if (!curl_setopt($ch, $option, $value)) die("could not set $option to " . serialize($value)); $ret = curl_exec($ch); // Done; cleanup. curl_close($ch);
  实现
  首先,我们必须获得登录页面。
  我们使用了一个特殊的用户代理来介绍自己,为了能够被识别(我们不想和网站管理员对抗),我们还欺骗服务器给我们发送定制版的浏览器< @网站。理想情况下,我们使用与要用于调试页面的任何浏览器相同的 User-Agent,并使用后缀来检查他们是否正在查看自动化工具(请参阅 Halfer 的评论)。
   $ua = 'Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0 (ROBOT)'; $cookiefile = "cookiefile"; $url1 = "the login url generating the session ID"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url1); curl_setopt($ch, CURLOPT_USERAGENT, $ua); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, True); curl_setopt($ch, CURLOPT_NOBODY, False); curl_setopt($ch, CURLOPT_RETURNTRANSFER, True); curl_setopt($ch, CURLOPT_BINARYTRANSFER, True); $ret = curl_exec($ch);
  这将检索需要用户/密码的页面。通过检查页面,我们找到了必填字段(包括隐藏的字段)并可以填写它们。FORM 标签告诉我们是否需要继续 POST 或 GET。
  我们可能需要检查表单代码以调整以下操作,因此我们要求cURL将页面内容原样返回给$ret并返回页面正文。有时,将 CURLOPT_NOBODY 设置为 True 仍然足以触发会话创建和 cookie 提交,如果是这样,它会更快。但是 CURLOPT_NOBODY(“无正文”)发出 HEAD 请求而不是 GET。有时 HEAD 请求不起作用,因为服务器只会以完整的 GET 响应。
  除了以这种方式检索正文之外,您还可以使用真实的 Firefox 登录并嗅探使用 Firebug(或 Chrome 和 Chrome 工具)发布的表单内容;一些 网站 会尝试使用 Javascript 来填充/修改隐藏的字段,这样提交的表单就不会变成你在 HTML 代码中看到的表单。
  网站 管理员不希望他的 网站 被抓取,并且可能会发送一个带有时间戳的隐藏字段。一个人(没有太聪明的浏览器的帮助——有办法告诉浏览器不要太聪明;最坏的情况下,每次更改用户名并传递字段)至少需要三秒钟才能填写表格。cURL 脚本为零。当然,可以模拟延迟。这些都是太阳镜
  我们可能还需要注意表单的外观。例如,网站 管理员可以建立一个表单,询问姓名、电子邮件和密码;然后,通过使用 CSS,将“电子邮件”字段移动到要查找名称的位置,反之亦然。因此,实际提交的表单将在名为 username 的字段中收录“@”,但在名为 email 的字段中不收录“@”。服务端,期待这一点,正好将这两个字段颠倒过来。手工制作的“刮板”(或垃圾桶)会做一些看似自然的事情,并在电子邮件字段中发送电子邮件。这样做,它背叛了自己。通过真正的 CSS 和 JS 感知浏览器,发送有意义的数据,并嗅探发送的实际内容,我们也许能够克服这个特殊的障碍。也许,因为有办法让生活变得困难。正如我所说,太极拳。
  回到这个案例,在这个案例中,表单收录三个没有 Javascript 覆盖的字段。我们有 cPASS、cUSR 和 checkLOGIN,其值是“检查登录”。
  因此,我们准备了适当的字段表单。请注意,表单将用作 application/x-www-form-urlencoded,这在 PHP cURL 中意味着两件事:
  正如它所说,表单字段是 urlencoded;有一个功能。
  我们读取表单的 action 字段;这是我们将用于提交身份验证的 URL(我们必须这样做)。
  所以一切都准备好了
   $fields = array( 'checkLOGIN' => 'Check Login', 'cUSR' => 'jb007', 'cPASS' => 'astonmartin', ); $coded = array(); foreach($fields as $field => $value) $coded[] = $field . '=' . urlencode($value); $string = implode('&', $coded); curl_setopt($ch, CURLOPT_URL, $url1); //same URL as before, the login url generating the session ID curl_setopt($ch, CURLOPT_POST, True); curl_setopt($ch, CURLOPT_POSTFIELDS, $string); $ret = curl_exec($ch);
  我们现在期待着“你好,詹姆斯——下一场精彩的比赛怎么样?” 页。但更重要的是,我们期望与 $cookiefile 中保存的 cookie 关联的会话已经提供了关键信息——“用户已通过身份验证”。
  因此,所有后续使用 $ch 创建的页面请求和相同的 cookie jar 都将被授予访问权限,使我们能够非常轻松地“抓取”页面——记住将请求模式设置回 GET:
   curl_setopt($ch, CURLOPT_POST, False); // Start spidering foreach($urls as $url) { curl_setopt($ch, CURLOPT_URL, $url); $HTML = curl_exec($ch); if (False === $HTML) { // Something went wrong, check curl_error() and curl_errno(). } } curl_close($ch);
  在循环中,您可以访问 $HTML-每个页面的 HTML 代码。
  使用正则表达式的诱惑很大。你必须抵制它。为了更好地应对不断变化的 HTML,并且当布局保持不变但内容发生变化时(例如,您发现有 Nice、Tourrette-Levens、Castagniers,但从来没有 Asprémont 或 Gattières,是不是很奇怪?),最好的选择是使用 DOM:
  抓取A元素的href属性 查看全部

  php抓取网页snoopy(如何在PHP中做到这一点,而不需要外部的“模拟器”)
  您可以在 cURL 中执行此操作,而无需外部“模拟器”。
  以下代码会将页面检索到 PHP 变量中进行解析。
  脚本
  有一个页面(我们称之为 HOME)可以打开会话。在服务器端,如果是在 PHP 中,则是第一次调用 session_start()(实际上是任意一次)。在其他语言中,您需要一个特定页面来完成所有会话设置。从客户端,它是提供会话 ID cookie 的页面。在 PHP 中,所有会话页面都可以;在其他语言中,登录页面会这样做,其他人会检查cookie是否存在,如果不存在,则不会创建会话,您将被置于HOME。
  有一个页面(登录)会生成一个登录表单并添加一个带有关键信息的会话——“此用户已经登录”。在下面的代码中,这是需要会话 ID 的页面。
  最后,有N页,有好东西可以刮。
  所以我们要打HOME,然后登录,然后GOODIES一一。在 PHP(和其他语言)中,HOME 和 LOGIN 也可能是同一个页面。或者所有页面都可以共享相同的地址,例如在单个页面应用程序中。
  代码
   $url = "the url generating the session ID"; $next_url = "the url asking for session"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // We do not authenticate, only access page to get a session going. // Change to False if it is not enough (you'll see that cookiefile // remains empty). curl_setopt($ch, CURLOPT_NOBODY, True); // You may want to change User-Agent here, too curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile"); // Just in case curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $ret = curl_exec($ch); // This page we retrieve, and scrape, with GET method foreach(array( CURLOPT_POST => False, // We GET... CURLOPT_NOBODY => False, // ...the body... CURLOPT_URL => $next_url, // ...of $next_url... CURLOPT_BINARYTRANSFER => True, // ...as binary... CURLOPT_RETURNTRANSFER => True, // ...into $ret... CURLOPT_FOLLOWLOCATION => True, // ...following redirections... CURLOPT_MAXREDIRS => 5, // ...reasonably... CURLOPT_REFERER => $url, // ...as if we came from $url... //CURLOPT_COOKIEFILE => 'cookiefile', // Save these cookies //CURLOPT_COOKIEJAR => 'cookiefile', // (already set above) CURLOPT_CONNECTTIMEOUT => 30, // Seconds CURLOPT_TIMEOUT => 300, // Seconds CURLOPT_LOW_SPEED_LIMIT => 16384, // 16 Kb/s CURLOPT_LOW_SPEED_TIME => 15, // ) as $option => $value) if (!curl_setopt($ch, $option, $value)) die("could not set $option to " . serialize($value)); $ret = curl_exec($ch); // Done; cleanup. curl_close($ch);
  实现
  首先,我们必须获得登录页面。
  我们使用了一个特殊的用户代理来介绍自己,为了能够被识别(我们不想和网站管理员对抗),我们还欺骗服务器给我们发送定制版的浏览器< @网站。理想情况下,我们使用与要用于调试页面的任何浏览器相同的 User-Agent,并使用后缀来检查他们是否正在查看自动化工具(请参阅 Halfer 的评论)。
   $ua = 'Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0 (ROBOT)'; $cookiefile = "cookiefile"; $url1 = "the login url generating the session ID"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url1); curl_setopt($ch, CURLOPT_USERAGENT, $ua); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, True); curl_setopt($ch, CURLOPT_NOBODY, False); curl_setopt($ch, CURLOPT_RETURNTRANSFER, True); curl_setopt($ch, CURLOPT_BINARYTRANSFER, True); $ret = curl_exec($ch);
  这将检索需要用户/密码的页面。通过检查页面,我们找到了必填字段(包括隐藏的字段)并可以填写它们。FORM 标签告诉我们是否需要继续 POST 或 GET。
  我们可能需要检查表单代码以调整以下操作,因此我们要求cURL将页面内容原样返回给$ret并返回页面正文。有时,将 CURLOPT_NOBODY 设置为 True 仍然足以触发会话创建和 cookie 提交,如果是这样,它会更快。但是 CURLOPT_NOBODY(“无正文”)发出 HEAD 请求而不是 GET。有时 HEAD 请求不起作用,因为服务器只会以完整的 GET 响应。
  除了以这种方式检索正文之外,您还可以使用真实的 Firefox 登录并嗅探使用 Firebug(或 Chrome 和 Chrome 工具)发布的表单内容;一些 网站 会尝试使用 Javascript 来填充/修改隐藏的字段,这样提交的表单就不会变成你在 HTML 代码中看到的表单。
  网站 管理员不希望他的 网站 被抓取,并且可能会发送一个带有时间戳的隐藏字段。一个人(没有太聪明的浏览器的帮助——有办法告诉浏览器不要太聪明;最坏的情况下,每次更改用户名并传递字段)至少需要三秒钟才能填写表格。cURL 脚本为零。当然,可以模拟延迟。这些都是太阳镜
  我们可能还需要注意表单的外观。例如,网站 管理员可以建立一个表单,询问姓名、电子邮件和密码;然后,通过使用 CSS,将“电子邮件”字段移动到要查找名称的位置,反之亦然。因此,实际提交的表单将在名为 username 的字段中收录“@”,但在名为 email 的字段中不收录“@”。服务端,期待这一点,正好将这两个字段颠倒过来。手工制作的“刮板”(或垃圾桶)会做一些看似自然的事情,并在电子邮件字段中发送电子邮件。这样做,它背叛了自己。通过真正的 CSS 和 JS 感知浏览器,发送有意义的数据,并嗅探发送的实际内容,我们也许能够克服这个特殊的障碍。也许,因为有办法让生活变得困难。正如我所说,太极拳。
  回到这个案例,在这个案例中,表单收录三个没有 Javascript 覆盖的字段。我们有 cPASS、cUSR 和 checkLOGIN,其值是“检查登录”。
  因此,我们准备了适当的字段表单。请注意,表单将用作 application/x-www-form-urlencoded,这在 PHP cURL 中意味着两件事:
  正如它所说,表单字段是 urlencoded;有一个功能。
  我们读取表单的 action 字段;这是我们将用于提交身份验证的 URL(我们必须这样做)。
  所以一切都准备好了
   $fields = array( 'checkLOGIN' => 'Check Login', 'cUSR' => 'jb007', 'cPASS' => 'astonmartin', ); $coded = array(); foreach($fields as $field => $value) $coded[] = $field . '=' . urlencode($value); $string = implode('&', $coded); curl_setopt($ch, CURLOPT_URL, $url1); //same URL as before, the login url generating the session ID curl_setopt($ch, CURLOPT_POST, True); curl_setopt($ch, CURLOPT_POSTFIELDS, $string); $ret = curl_exec($ch);
  我们现在期待着“你好,詹姆斯——下一场精彩的比赛怎么样?” 页。但更重要的是,我们期望与 $cookiefile 中保存的 cookie 关联的会话已经提供了关键信息——“用户已通过身份验证”。
  因此,所有后续使用 $ch 创建的页面请求和相同的 cookie jar 都将被授予访问权限,使我们能够非常轻松地“抓取”页面——记住将请求模式设置回 GET:
   curl_setopt($ch, CURLOPT_POST, False); // Start spidering foreach($urls as $url) { curl_setopt($ch, CURLOPT_URL, $url); $HTML = curl_exec($ch); if (False === $HTML) { // Something went wrong, check curl_error() and curl_errno(). } } curl_close($ch);
  在循环中,您可以访问 $HTML-每个页面的 HTML 代码。
  使用正则表达式的诱惑很大。你必须抵制它。为了更好地应对不断变化的 HTML,并且当布局保持不变但内容发生变化时(例如,您发现有 Nice、Tourrette-Levens、Castagniers,但从来没有 Asprémont 或 Gattières,是不是很奇怪?),最好的选择是使用 DOM:
  抓取A元素的href属性

php抓取网页snoopy(Snoopy的特点:抓取网页的文本内容(去除HTML标签))

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

  php抓取网页snoopy(Snoopy的特点:抓取网页的文本内容(去除HTML标签))
  Snoopy是一个PHP类,用于模拟浏览器的功能。它可以获取web内容、发送表单以及开发一些采集程序和小偷程序
  史努比的一些特点:
  获取网页的内容
  抓取网页的文本内容(删除HTML标记)抓取文本
  抓取网页链接,表单获取链接获取表单
  支持代理主机
  支持基本用户名/密码身份验证
  支持设置用户代理、引用、cookie和标题内容
  支持浏览器重定向并控制重定向深度
  可以将网页中的链接扩展为高质量URL(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  Snoopy类方法和示例:
  获取($URI)
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  史努比采集类属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(Snoopy的特点:抓取网页的文本内容(去除HTML标签))
  Snoopy是一个PHP类,用于模拟浏览器的功能。它可以获取web内容、发送表单以及开发一些采集程序和小偷程序
  史努比的一些特点:
  获取网页的内容
  抓取网页的文本内容(删除HTML标记)抓取文本
  抓取网页链接,表单获取链接获取表单
  支持代理主机
  支持基本用户名/密码身份验证
  支持设置用户代理、引用、cookie和标题内容
  支持浏览器重定向并控制重定向深度
  可以将网页中的链接扩展为高质量URL(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  Snoopy类方法和示例:
  获取($URI)
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  史努比采集类属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(模拟浏览器的一些特点:Snoopy的特点及特点分析)

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

  php抓取网页snoopy(模拟浏览器的一些特点:Snoopy的特点及特点分析)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、推荐人、cookies和headercontent
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(模拟浏览器的一些特点:Snoopy的特点及特点分析)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、推荐人、cookies和headercontent
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy( 下载snoopySnoopy的一些特点(一)(组图))

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

  php抓取网页snoopy(
下载snoopySnoopy的一些特点(一)(组图))
  
  
  
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  Snoopy需要服务器的PHP版本在4以上才能正确运行,并且支持PCRE(Perl兼容的正则表达式),这是基本lamp服务所支持的
  下载史努比
  史努比的一些特点:
  一,。获取网页的内容
  二,。抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页的链接和抓取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  六,。支持设置用户代理、引用、cookie和标题内容
  七,。支持浏览器重定向并控制重定向深度
  八,。它可以将网页中的链接扩展为高质量的URL(默认)
  九,。提交数据并获取返回值
  十,。支持跟踪HTML框架
  十一,。支持在重定向期间传递cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  捕获的结果存储在$this->结果
  如果您正在抓取帧,Snoopy将跟踪每个帧并将其存储在阵列中,然后存储$this->结果
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(
下载snoopySnoopy的一些特点(一)(组图))
  
  
  
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  Snoopy需要服务器的PHP版本在4以上才能正确运行,并且支持PCRE(Perl兼容的正则表达式),这是基本lamp服务所支持的
  下载史努比
  史努比的一些特点:
  一,。获取网页的内容
  二,。抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页的链接和抓取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  六,。支持设置用户代理、引用、cookie和标题内容
  七,。支持浏览器重定向并控制重定向深度
  八,。它可以将网页中的链接扩展为高质量的URL(默认)
  九,。提交数据并获取返回值
  十,。支持跟踪HTML框架
  十一,。支持在重定向期间传递cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  捕获的结果存储在$this->结果
  如果您正在抓取帧,Snoopy将跟踪每个帧并将其存储在阵列中,然后存储$this->结果
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy( PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)

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

  php抓取网页snoopy(
PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)
  /**
* @name Snoopy手册中文版
* @author 毛毛虫 wangchong1985@gmail.com
* @version Snoopy - the PHP net client v1.2.2
* @link http://www.wangchong.org
* @since 2008-04-27
*/ <br />名称:<br /><br /> Snoopy - the PHP net client v1.2.2<br /> <br />概要:<br /><br /> include "Snoopy.class.php";
$snoopy = new Snoopy;

$snoopy->fetchtext("http://www.php.net/");
print $snoopy->results;

$snoopy->fetchlinks("http://www.phpbuilder.com/");
print $snoopy->results;

$submit_url = "http://lnk.ispi.net/texis/scri ... 3B%3B

$submit_vars["q"] = "amiga";
$submit_vars["submit"] = "Search!";
$submit_vars["searchhost"] = "Altavista";

$snoopy->submit($submit_url,$submit_vars);
print $snoopy->results;

$snoopy->maxframes=5;
$snoopy->fetch("http://www.ispi.net/");
echo "/n";
echo htmlentities($snoopy->results[0]);
echo htmlentities($snoopy->results[1]);
echo htmlentities($snoopy->results[2]);
echo "
  /n“;$snoopy->fetchform(“”);打印$snoopy->结果
  说明:
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *它支持设置用户\代理、引用、cookies和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *再次旋转时支持cookies的传送(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  它应该是PHP3.0.9及更高版本。对于读取超时支持,它需要
  PHP 4 Beta 4或更高版本。Snoopy是用PHP开发和测试的
  类方法:
  获取($URI)
  -----------
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的文本内容
  fetchform($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ----------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  ----------------------
  此方法向$URL指定的链接地址发送确认表单。$formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------------------------
  此方法类似于submit(),唯一的区别是此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ----------------
  此方法类似于submit()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\u host使用的代理主机(如果有)
  $proxy_port使用的代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(
PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)
  /**
* @name Snoopy手册中文版
* @author 毛毛虫 wangchong1985@gmail.com
* @version Snoopy - the PHP net client v1.2.2
* @link http://www.wangchong.org
* @since 2008-04-27
*/ <br />名称:<br /><br /> Snoopy - the PHP net client v1.2.2<br /> <br />概要:<br /><br /> include "Snoopy.class.php";
$snoopy = new Snoopy;

$snoopy->fetchtext("http://www.php.net/";);
print $snoopy->results;

$snoopy->fetchlinks("http://www.phpbuilder.com/";);
print $snoopy->results;

$submit_url = "http://lnk.ispi.net/texis/scri ... 3B%3B

$submit_vars["q"] = "amiga";
$submit_vars["submit"] = "Search!";
$submit_vars["searchhost"] = "Altavista";

$snoopy->submit($submit_url,$submit_vars);
print $snoopy->results;

$snoopy->maxframes=5;
$snoopy->fetch("http://www.ispi.net/";);
echo "/n";
echo htmlentities($snoopy->results[0]);
echo htmlentities($snoopy->results[1]);
echo htmlentities($snoopy->results[2]);
echo "
  /n“;$snoopy->fetchform(“”);打印$snoopy->结果
  说明:
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *它支持设置用户\代理、引用、cookies和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *再次旋转时支持cookies的传送(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  它应该是PHP3.0.9及更高版本。对于读取超时支持,它需要
  PHP 4 Beta 4或更高版本。Snoopy是用PHP开发和测试的
  类方法:
  获取($URI)
  -----------
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的文本内容
  fetchform($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ----------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  ----------------------
  此方法向$URL指定的链接地址发送确认表单。$formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------------------------
  此方法类似于submit(),唯一的区别是此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ----------------
  此方法类似于submit()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\u host使用的代理主机(如果有)
  $proxy_port使用的代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(Snoopy是什么?PHP4Beta4or.SnoopyorSnoopy)

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

  php抓取网页snoopy(Snoopy是什么?PHP4Beta4or.SnoopyorSnoopy)
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  应该是PHP3.0.9及以上。对于读取超时支持,它需要
  PHP4Beta4或更高版本。史努比是用PHP开发和测试的
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $MaxEditor最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(Snoopy是什么?PHP4Beta4or.SnoopyorSnoopy)
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  应该是PHP3.0.9及以上。对于读取超时支持,它需要
  PHP4Beta4或更高版本。史努比是用PHP开发和测试的
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $MaxEditor最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)

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

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)

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

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(【技巧】php防盗链的使用方法及使用技巧! )

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

  php抓取网页snoopy(【技巧】php防盗链的使用方法及使用技巧!
)
  一.方法:
  1、首次下载snoopy类,下载地址:
  2、首先实例化一个对象,然后调用相应的方法来获取抓取的Web信息
  示例:
  include 'snoopy/Snoopy.class.php';$snoopy = new Snoopy();$sourceURL = "http://xxxxxxxxx";$snoopy->fetchlinks($sourceURL);$a = $snoopy->results;
  它不提供获取网页中的所有图像地址的方法,要求在页面中的所有文章列表中获取页面地址。然后我写了一个,主要是那里重要。
  //匹配图片的正则表达式 $reTag = "/[^s]+src=\"(http:\/\/[^\"]+).(jpg|png|gif|jpeg)\"[^\/]*\/>/i";
  由于需要特殊的需求,只需捕获死亡的图片HTP://(外部站的图片可能会使防盗链,我想捕获本地)
  实现:
  1、抓住了指定的网页并过滤掉所有文章地址;
  2、cycy抓住文章地址在第一步中,然后使用匹配图片的正则表达式匹配,获取页面中的排序规则的所有排序规则;
  3、图库(这里只有gif,jpg)保存图片 - 如果存在此图像文件,请先删除它并保存
<p> 查看全部

  php抓取网页snoopy(【技巧】php防盗链的使用方法及使用技巧!
)
  一.方法:
  1、首次下载snoopy类,下载地址:
  2、首先实例化一个对象,然后调用相应的方法来获取抓取的Web信息
  示例:
  include 'snoopy/Snoopy.class.php';$snoopy = new Snoopy();$sourceURL = "http://xxxxxxxxx";$snoopy->fetchlinks($sourceURL);$a = $snoopy->results;
  它不提供获取网页中的所有图像地址的方法,要求在页面中的所有文章列表中获取页面地址。然后我写了一个,主要是那里重要。
  //匹配图片的正则表达式 $reTag = "/[^s]+src=\"(http:\/\/[^\"]+).(jpg|png|gif|jpeg)\"[^\/]*\/>/i";
  由于需要特殊的需求,只需捕获死亡的图片HTP://(外部站的图片可能会使防盗链,我想捕获本地)
  实现:
  1、抓住了指定的网页并过滤掉所有文章地址;
  2、cycy抓住文章地址在第一步中,然后使用匹配图片的正则表达式匹配,获取页面中的排序规则的所有排序规则;
  3、图库(这里只有gif,jpg)保存图片 - 如果存在此图像文件,请先删除它并保存
<p>

php抓取网页snoopy(抓取网页的内容2抓取(2)的文本内容)

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

  php抓取网页snoopy(抓取网页的内容2抓取(2)的文本内容)
  获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比)v0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向次数,0=不允许(5))@
  $offsiteok是否允许场外重定向。(对)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(抓取网页的内容2抓取(2)的文本内容)
  获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比)v0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向次数,0=不允许(5))@
  $offsiteok是否允许场外重定向。(对)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

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

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

  php抓取网页snoopy(:Snoopy是什么?的一些特点:方便抓取网页的内容)
  目录
  []
  当您使用PHP时,并希望执行一些采集任务,那么您应该了解史努比。
  什么是snoopy?
  snoopy是模拟Web浏览器的功能的PHP类,可以完成获取Web内容并发送表单的任务。
  snoopy的声音:
  *方便捕获网页
  *方便捕获网页的文本内容(删除HTML标记)
  *方便捕获网页的链接
  *支持代理主机
  *支持基本用户名/密码验证
  *支持set user_agent,referer,cookie和header内容(头文件)
  *支持浏览器转向并控制转向深度
  *可以将网页中的链接扩展为高质量的URL(默认)
  *有助于数据并获取返回值
  *支持跟踪HTML帧(v 0. 92添加)
  *支持重新转向,通过cookie(v 0. 92增加)
  *支持重新转向,通过cookie
  要求:
  Snoopy需要PHP使用PCRE(Perl兼容的正则表达式),
  哪个商店是php 3.0. 9和Up。对于读取超时支持,它需要
  PHP 4 beta 4或更高版本。史努比是通过PHP 3.0. 1 2.
  测试和测试
  方法:
  获取($ uri)
  ----
  这是用于捕获网页内容的方法。
  $ uri参数是网页捕获的URL地址。
  结果存储在$ this-和gt;结果。
  如果您正在抓取框架,Snoopy将每个框架存储到数组中,然后存入$ this-&gt;结果。
  fetchtext($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks($ uri)
  ------
  此方法类似于fetch(),唯一的区别是该方法删除HTML标记和其他不相关的数据,仅在网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  提交($ uri,$ formvars)
  --------
  此方法将确认表单发送到$ URL指定的链接地址。 $ formvars是存储表单个参数的数组。
  submittext($ uri,$ formvars)
  ---------
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks($ uri)
  ------
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  类属性:(括号中的默认值)
  $ host连接主机
  $端口连接端口
  $ proxy_host使用代理主机(如果有),
  $ proxy_port由代理主机端口使用,如果有的话,
  $代理用户代理伪装(snoopy v 0.1)
  $ crew it写入信息,如果有的话,
  $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  $ maxredirs最大重定向,0 =不允许(5)
  $ offsiteok是否允许从现场重定向。 (true)
  $ odernlinks完成链接到完整地址(true)
  $用户认证的用户名,如果有的话,
  $ pass身份验证的用户名,如果有任何单词 查看全部

  php抓取网页snoopy(:Snoopy是什么?的一些特点:方便抓取网页的内容)
  目录
  []
  当您使用PHP时,并希望执行一些采集任务,那么您应该了解史努比。
  什么是snoopy?
  snoopy是模拟Web浏览器的功能的PHP类,可以完成获取Web内容并发送表单的任务。
  snoopy的声音:
  *方便捕获网页
  *方便捕获网页的文本内容(删除HTML标记)
  *方便捕获网页的链接
  *支持代理主机
  *支持基本用户名/密码验证
  *支持set user_agent,referer,cookie和header内容(头文件)
  *支持浏览器转向并控制转向深度
  *可以将网页中的链接扩展为高质量的URL(默认)
  *有助于数据并获取返回值
  *支持跟踪HTML帧(v 0. 92添加)
  *支持重新转向,通过cookie(v 0. 92增加)
  *支持重新转向,通过cookie
  要求:
  Snoopy需要PHP使用PCRE(Perl兼容的正则表达式),
  哪个商店是php 3.0. 9和Up。对于读取超时支持,它需要
  PHP 4 beta 4或更高版本。史努比是通过PHP 3.0. 1 2.
  测试和测试
  方法:
  获取($ uri)
  ----
  这是用于捕获网页内容的方法。
  $ uri参数是网页捕获的URL地址。
  结果存储在$ this-和gt;结果。
  如果您正在抓取框架,Snoopy将每个框架存储到数组中,然后存入$ this-&gt;结果。
  fetchtext($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks($ uri)
  ------
  此方法类似于fetch(),唯一的区别是该方法删除HTML标记和其他不相关的数据,仅在网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  提交($ uri,$ formvars)
  --------
  此方法将确认表单发送到$ URL指定的链接地址。 $ formvars是存储表单个参数的数组。
  submittext($ uri,$ formvars)
  ---------
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks($ uri)
  ------
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  类属性:(括号中的默认值)
  $ host连接主机
  $端口连接端口
  $ proxy_host使用代理主机(如果有),
  $ proxy_port由代理主机端口使用,如果有的话,
  $代理用户代理伪装(snoopy v 0.1)
  $ crew it写入信息,如果有的话,
  $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  $ maxredirs最大重定向,0 =不允许(5)
  $ offsiteok是否允许从现场重定向。 (true)
  $ odernlinks完成链接到完整地址(true)
  $用户认证的用户名,如果有的话,
  $ pass身份验证的用户名,如果有任何单词

php抓取网页snoopy(php类模拟浏览器Snoopy(\$URI)的特点)

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

  php抓取网页snoopy(php类模拟浏览器Snoopy(\$URI)的特点)
  snoopy是一个php类,用于模拟浏览器的功能,获取Web内容,发送表单。 snoopy运行了在4个或更多的服务器的PHP版本,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  一、 snoopy一些功能
  1.爬行内容获取
  2. grabed文本内容(删除html标记)fetchtext
  3. crawl链接,表单fetchlinks fetchform
  4.支持代理主机
  5.支持基本用户名/密码验证
  6.支持set user_agent,treeer,cookie和header内容(头文件)
  7.支持浏览器重定向,并控制重定向深度
  8.可以将网页中的链接扩展为高质量的URL(默认)
  9.提交数据并获取返回值
  1 0.支持跟踪HTML帧
  1 1.支持重定向,传递cookie,需要php4或更多,因为它是一类PHP,无需支持,服务器不支持卷曲选择
  二、方法
  获取(\ $ uri)
  这是用于捕获网页内容的方法。 \ $ URI参数是网页捕获的URL地址。结果存储在\ $ this-和gt中;结果。如果您爬行是一个框架,史努比将每个框架存储到一个数组中,然后存入\ $ this-&gt;结果。
  fetchtext(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks(\ $ uri)此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  提交(\ $ uri,\ $ formvars)
  此方法将确认表单发送到由\ $ URL指定的链接地址。 $ formvars是一系列存储的表单个参数。
  submittext(\ $ uri,\ $ formvars)
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks(\ $ uri)
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  三、 class属性(括号中的默认值)
  \ $ host连接主机
  \ $端口连接端口
  \ $ proxy_host由代理主机使用,如果有的话,
  \ $ proxy_port使用的代理主机端口,如果有的话,
  \ $代理用户代理伪装(snoopy v 0.1)
  \ $相关信息,如果有任何单词
  \ $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  \ $ maxredirs最大重定向,0 =不允许(5)
  \ $ offsiteok whers或不允许从现场重定向。 (true)
  \ $ odernlinks完成完整地址(true)
  的链接
  \ $用户认证的用户名,如果有的话,
  \ $传递身份验证用户名,如果有任何单词 查看全部

  php抓取网页snoopy(php类模拟浏览器Snoopy(\$URI)的特点)
  snoopy是一个php类,用于模拟浏览器的功能,获取Web内容,发送表单。 snoopy运行了在4个或更多的服务器的PHP版本,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  一、 snoopy一些功能
  1.爬行内容获取
  2. grabed文本内容(删除html标记)fetchtext
  3. crawl链接,表单fetchlinks fetchform
  4.支持代理主机
  5.支持基本用户名/密码验证
  6.支持set user_agent,treeer,cookie和header内容(头文件)
  7.支持浏览器重定向,并控制重定向深度
  8.可以将网页中的链接扩展为高质量的URL(默认)
  9.提交数据并获取返回值
  1 0.支持跟踪HTML帧
  1 1.支持重定向,传递cookie,需要php4或更多,因为它是一类PHP,无需支持,服务器不支持卷曲选择
  二、方法
  获取(\ $ uri)
  这是用于捕获网页内容的方法。 \ $ URI参数是网页捕获的URL地址。结果存储在\ $ this-和gt中;结果。如果您爬行是一个框架,史努比将每个框架存储到一个数组中,然后存入\ $ this-&gt;结果。
  fetchtext(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks(\ $ uri)此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  提交(\ $ uri,\ $ formvars)
  此方法将确认表单发送到由\ $ URL指定的链接地址。 $ formvars是一系列存储的表单个参数。
  submittext(\ $ uri,\ $ formvars)
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks(\ $ uri)
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  三、 class属性(括号中的默认值)
  \ $ host连接主机
  \ $端口连接端口
  \ $ proxy_host由代理主机使用,如果有的话,
  \ $ proxy_port使用的代理主机端口,如果有的话,
  \ $代理用户代理伪装(snoopy v 0.1)
  \ $相关信息,如果有任何单词
  \ $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  \ $ maxredirs最大重定向,0 =不允许(5)
  \ $ offsiteok whers或不允许从现场重定向。 (true)
  \ $ odernlinks完成完整地址(true)
  的链接
  \ $用户认证的用户名,如果有的话,
  \ $传递身份验证用户名,如果有任何单词

php抓取网页snoopy(PHP官网:特点Snoopy正确运行需要你的服务器(组图) )

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

  php抓取网页snoopy(PHP官网:特点Snoopy正确运行需要你的服务器(组图)
)
  snoopy是一类PHP。它可用于模仿Web浏览器的功能,可以完成获取Web内容并发送表单的任务。官方网站:
  功能
  snoopy运行服务器的PHP版本,需要在4个或更多中正确运行,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  方法功能
  提供以下界面或方法:
  获取($ uri)
  此方法是捕获网页的内容,$ URI是捕获网页的URL,结果存储在$ this-和gt;结果。如果捕获框架,将捕获此帧,结果保存到数组。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
  fetchtext($ uri)
  此方法和fetch()大致相同,但其结果是文本,删除HTML标签和其他不相关信息。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetchtext($url); //获取文本内容
echo $snoopy->results; //显示结果
  fetchform($ uri)
  此方法仅返回抓取网页。
  fetchlinks($ uri)
  此方法仅返回抓取网页上的链接,默认返回的链接是收录域名的链接。
  提交($ uri,$ formvars)
  此方法将表单提交给指定的$ URI。 $ formvars是一个形式变量的数组来传递。
  submittext($ uri,$ formvars)
  此方法并提交()基本一致,但它返回文本,删除HTML标记和其他不相关的数据。
  submitlinks($ uri)
  此方法返回链接。
  类属性
  以下是Snoopy属性,默认值为括号。
  简单的例子
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.wenjiangs.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.wenjiangs.cn")) {
echo "".htmlspecialchars($snoopy->results)."
  n“;} else {echo”错误获取文档:“$ snoopy-&gt;错误。” n“;}
  获取指定的URL内容
  $url = "https://www.wenjiangs.com";
include("snoopy.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
//可选以下
//$snoopy->fetchtext //获取文本内容(去掉html代码)
//$snoopy->fetchlinks //获取链接
//$snoopy->fetchform //获取表单
  表单提交
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";//表单提交地址
$snoopy->submit($action,$formvars);//$formvars为提交的数组
echo $snoopy->results; //获取表单提交后的 返回的结果
//可选以下
$snoopy->submittext; //提交后只返回 去除html的 文本
$snoopy->submitlinks;//提交后只返回 链接
  其他SAO操作
  由于已经提交的表格,您可以做很多。接下来我们来伪装IP,迷彩浏览器:
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";
include "snoopy.php";
$snoopy = new Snoopy;
$snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //伪装sessionid
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器
$snoopy->referer = https://www.wenjiangs.com; //伪装来源页地址 http_referer
$snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息
$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.1"; //伪装ip
$snoopy->submit($action,$formvars);
echo $snoopy->results;
  我们可以为会话做饭,迷彩浏览器,伪装IP,你可以做很多。例如:使用验证码,验证IP,投票,无法停止。
  此处IP实际上是伪装HTTP标题,因此Remote_Addr获取的IP是伪装,而是可以通过HTTP标头(可以阻止代理)的人创建IP。
  关于如何验证代码,简单:首先使用正常的浏览器,查看页面,找到对应验证码的会话方式,并记下SessionID和验证码值,然后使用Snoopy伪造。
  原理:由于相同的SessionID与验证码相同,并且第一个输入是相同的。
  有时我们可能需要更多的东西,史努比想到我们:
  $snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "8080"; //使用代理
$snoopy->maxredirs = 2; //重定向次数
$snoopy->expandlinks = true; //是否补全链接 在采集的时候经常用到
// 例如链接为 /images/taoav.gif 可改为它的全链接
//
// https://www.wenjiangs.com/wp-c ... 2.jpg
//
$snoopy->maxframes = 5 //允许的最大框架数
//注意抓取框架的时候 $snoopy->results 返回的是一个数组
$snoopy->error //返回报错信息
  比较例
  /**
* 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.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:
";
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";
}
  图片采集器
  用snoopy类采集:
  完成一个简单的图片
  include 'Snoopy.class.php'; //加载Snoopy类
$snoopy = new Snoopy(); //实例化一个对象
$sourceURL = "http://www.nowamagic.net/librarys/veda/"; //要抓取的网页
$snoopy->fetchlinks($sourceURL); //获得网页的链接
$a = $snoopy->results; //得到网页链接的结果
$re = "/d+.html$/"; //匹配的正则
//过滤获取指定的文件地址请求
foreach ($a as $tmp) {
if (preg_match($re, $tmp)) {
$aa = $tmp;
}
}
getImgURL($aa);
function getImgURL($siteName) {
$snoopy = new Snoopy();
$snoopy->fetch($siteName);
$fileContent = $snoopy->results; //获取过滤后的页面的内容
//匹配图片的正则表达式
$reTag = "/(http: //[^/i";
if (preg_match($reTag, $fileContent)) {
//过滤图片
$ret = preg_match_all($reTag, $fileContent, $matchResult);
for ($i = 0, $len = count($matchResult[1]); $i < $len; ++$i) {
saveImgURL($matchResult[1][$i], $matchResult[2][$i]);
}
}
}
function saveImgURL($name, $suffix) {
$url = $name . "." . $suffix;
echo "请求的图片地址:" . $url . "
";
$imgSavePath = "E:/123/images/"; //图片保存地址
$imgId = mt_rand(); //产生一个随机的文件名
if ($suffix == "gif") {
//根据图片类型,放入不同的文件夹下面
$imgSavePath.= "emotion";
} else {
$imgSavePath.= "topic";
}
$imgSavePath.= ("/" . $imgId . "." . $suffix); //组装要保存的文件名
if (is_file($imgSavePath)) {
//判断文件名是否存在,存在则删除
unlink($imgSavePath);
echo "<p style='color:#f00;'>文件" . $imgSavePath . "已存在,将被删除";
}
$imgFile = file_get_contents($url); //读取网络文件
$flag = file_put_contents($imgSavePath, $imgFile); //写入到本地
if ($flag) {
echo "
  文件" . $imgSavePath . "保存成功";
}
}
}</p>
  使用
  在WordPress
  中
  在WordPress中,此类已收录此类。 WordPress使用Snoopy下载文件以更新插件,其中Snoopy类使用的代码为:
  function download_url( $url ) {
if( ! $url )
return false;

$tmpfname = tempnam(get_temp_dir(), 'wpupdate'); //获取临时文件名
if( ! $tmpfname )
return false;

$handle = fopen($tmpfname, 'w'); //以写的方式打开临时文件
if( ! $handle )
return false;

require_once( ABSPATH . 'wp-includes/class-snoopy.php' ); //引入 Snoopy 类
$snoopy = new Snoopy();
$snoopy->fetch($url); //抓取指定的网页

fwrite($handle, $snoopy->results); //把抓取得内容写到 临时文件中
fclose($handle);

return $tmpfname;
} 查看全部

  php抓取网页snoopy(PHP官网:特点Snoopy正确运行需要你的服务器(组图)
)
  snoopy是一类PHP。它可用于模仿Web浏览器的功能,可以完成获取Web内容并发送表单的任务。官方网站:
  功能
  snoopy运行服务器的PHP版本,需要在4个或更多中正确运行,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  方法功能
  提供以下界面或方法:
  获取($ uri)
  此方法是捕获网页的内容,$ URI是捕获网页的URL,结果存储在$ this-和gt;结果。如果捕获框架,将捕获此帧,结果保存到数组。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
  fetchtext($ uri)
  此方法和fetch()大致相同,但其结果是文本,删除HTML标签和其他不相关信息。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetchtext($url); //获取文本内容
echo $snoopy->results; //显示结果
  fetchform($ uri)
  此方法仅返回抓取网页。
  fetchlinks($ uri)
  此方法仅返回抓取网页上的链接,默认返回的链接是收录域名的链接。
  提交($ uri,$ formvars)
  此方法将表单提交给指定的$ URI。 $ formvars是一个形式变量的数组来传递。
  submittext($ uri,$ formvars)
  此方法并提交()基本一致,但它返回文本,删除HTML标记和其他不相关的数据。
  submitlinks($ uri)
  此方法返回链接。
  类属性
  以下是Snoopy属性,默认值为括号。
  简单的例子
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.wenjiangs.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.wenjiangs.cn";)) {
echo "".htmlspecialchars($snoopy->results)."
  n“;} else {echo”错误获取文档:“$ snoopy-&gt;错误。” n“;}
  获取指定的URL内容
  $url = "https://www.wenjiangs.com";
include("snoopy.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
//可选以下
//$snoopy->fetchtext //获取文本内容(去掉html代码)
//$snoopy->fetchlinks //获取链接
//$snoopy->fetchform //获取表单
  表单提交
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";//表单提交地址
$snoopy->submit($action,$formvars);//$formvars为提交的数组
echo $snoopy->results; //获取表单提交后的 返回的结果
//可选以下
$snoopy->submittext; //提交后只返回 去除html的 文本
$snoopy->submitlinks;//提交后只返回 链接
  其他SAO操作
  由于已经提交的表格,您可以做很多。接下来我们来伪装IP,迷彩浏览器:
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";
include "snoopy.php";
$snoopy = new Snoopy;
$snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //伪装sessionid
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器
$snoopy->referer = https://www.wenjiangs.com; //伪装来源页地址 http_referer
$snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息
$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.1"; //伪装ip
$snoopy->submit($action,$formvars);
echo $snoopy->results;
  我们可以为会话做饭,迷彩浏览器,伪装IP,你可以做很多。例如:使用验证码,验证IP,投票,无法停止。
  此处IP实际上是伪装HTTP标题,因此Remote_Addr获取的IP是伪装,而是可以通过HTTP标头(可以阻止代理)的人创建IP。
  关于如何验证代码,简单:首先使用正常的浏览器,查看页面,找到对应验证码的会话方式,并记下SessionID和验证码值,然后使用Snoopy伪造。
  原理:由于相同的SessionID与验证码相同,并且第一个输入是相同的。
  有时我们可能需要更多的东西,史努比想到我们:
  $snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "8080"; //使用代理
$snoopy->maxredirs = 2; //重定向次数
$snoopy->expandlinks = true; //是否补全链接 在采集的时候经常用到
// 例如链接为 /images/taoav.gif 可改为它的全链接
//
//
https://www.wenjiangs.com/wp-c ... 2.jpg
//
$snoopy->maxframes = 5 //允许的最大框架数
//注意抓取框架的时候 $snoopy->results 返回的是一个数组
$snoopy->error //返回报错信息
  比较例
  /**
* 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.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:

";
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";
}
  图片采集
  用snoopy类采集:
  完成一个简单的图片
  include 'Snoopy.class.php'; //加载Snoopy类
$snoopy = new Snoopy(); //实例化一个对象
$sourceURL = "http://www.nowamagic.net/librarys/veda/"; //要抓取的网页
$snoopy->fetchlinks($sourceURL); //获得网页的链接
$a = $snoopy->results; //得到网页链接的结果
$re = "/d+.html$/"; //匹配的正则
//过滤获取指定的文件地址请求
foreach ($a as $tmp) {
if (preg_match($re, $tmp)) {
$aa = $tmp;
}
}
getImgURL($aa);
function getImgURL($siteName) {
$snoopy = new Snoopy();
$snoopy->fetch($siteName);
$fileContent = $snoopy->results; //获取过滤后的页面的内容
//匹配图片的正则表达式
$reTag = "/(http: //[^/i";
if (preg_match($reTag, $fileContent)) {
//过滤图片
$ret = preg_match_all($reTag, $fileContent, $matchResult);
for ($i = 0, $len = count($matchResult[1]); $i < $len; ++$i) {
saveImgURL($matchResult[1][$i], $matchResult[2][$i]);
}
}
}
function saveImgURL($name, $suffix) {
$url = $name . "." . $suffix;
echo "请求的图片地址:" . $url . "
";
$imgSavePath = "E:/123/images/"; //图片保存地址
$imgId = mt_rand(); //产生一个随机的文件名
if ($suffix == "gif") {
//根据图片类型,放入不同的文件夹下面
$imgSavePath.= "emotion";
} else {
$imgSavePath.= "topic";
}
$imgSavePath.= ("/" . $imgId . "." . $suffix); //组装要保存的文件名
if (is_file($imgSavePath)) {
//判断文件名是否存在,存在则删除
unlink($imgSavePath);
echo "<p style='color:#f00;'>文件" . $imgSavePath . "已存在,将被删除";
}
$imgFile = file_get_contents($url); //读取网络文件
$flag = file_put_contents($imgSavePath, $imgFile); //写入到本地
if ($flag) {
echo "
  文件" . $imgSavePath . "保存成功";
}
}
}</p>
  使用
  在WordPress
  中
  在WordPress中,此类已收录此类。 WordPress使用Snoopy下载文件以更新插件,其中Snoopy类使用的代码为:
  function download_url( $url ) {
if( ! $url )
return false;

$tmpfname = tempnam(get_temp_dir(), 'wpupdate'); //获取临时文件名
if( ! $tmpfname )
return false;

$handle = fopen($tmpfname, 'w'); //以写的方式打开临时文件
if( ! $handle )
return false;

require_once( ABSPATH . 'wp-includes/class-snoopy.php' ); //引入 Snoopy 类
$snoopy = new Snoopy();
$snoopy->fetch($url); //抓取指定的网页

fwrite($handle, $snoopy->results); //把抓取得内容写到 临时文件中
fclose($handle);

return $tmpfname;
}

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

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

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

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

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

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

  php抓取网页snoopy(PHP类Snoopy的一些特点:*方便网页的文本内容)
  我们都知道PHP类中的Snoopy是什么
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  PHP类Snoopy的一些功能:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  PHP Snoopy的正确操作要求您的服务器的PHP版本超过4,并且支持PCRE(Perl兼容的正则表达式),基本lamp服务支持PCRE
  它提供以下接口或方法:
  获取($URI)
  此方法用于获取网页的内容,$URI是要捕获的网页的URL,捕获的结果存储在$This->results中。如果抓取一帧,将抓取每个帧,并将结果保存到数组中
  fetchtext($URI)
  此方法与fetch()大致相同,只是其结果是文本,不包括HTML标记和其他无关信息
  fetchform($URI)
  此方法仅返回捕获的网页上的表单元素
  获取链接($URI)
  此方法仅返回捕获的网页上的链接。默认情况下,返回的链接是收录域名的链接
  提交($URI,$formvars)
  此方法将表单提交到指定的$URI$Formvars是要传递的表单变量数组
  submittext($URI,$formvars)
  此方法基本上与submit()相同,但它返回文本,不包括HTML标记和其他不相关的数据
  提交链接($URI)
  此方法返回一个链接
  这些都是PHP类Snoopy的内容。我希望这对你有帮助
  Truetecharticle每个人都知道PHP类中的Snoopy是什么?Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务。PHP类Snoopy的一些特性 查看全部

  php抓取网页snoopy(PHP类Snoopy的一些特点:*方便网页的文本内容)
  我们都知道PHP类中的Snoopy是什么
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  PHP类Snoopy的一些功能:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  PHP Snoopy的正确操作要求您的服务器的PHP版本超过4,并且支持PCRE(Perl兼容的正则表达式),基本lamp服务支持PCRE
  它提供以下接口或方法:
  获取($URI)
  此方法用于获取网页的内容,$URI是要捕获的网页的URL,捕获的结果存储在$This->results中。如果抓取一帧,将抓取每个帧,并将结果保存到数组中
  fetchtext($URI)
  此方法与fetch()大致相同,只是其结果是文本,不包括HTML标记和其他无关信息
  fetchform($URI)
  此方法仅返回捕获的网页上的表单元素
  获取链接($URI)
  此方法仅返回捕获的网页上的链接。默认情况下,返回的链接是收录域名的链接
  提交($URI,$formvars)
  此方法将表单提交到指定的$URI$Formvars是要传递的表单变量数组
  submittext($URI,$formvars)
  此方法基本上与submit()相同,但它返回文本,不包括HTML标记和其他不相关的数据
  提交链接($URI)
  此方法返回一个链接
  这些都是PHP类Snoopy的内容。我希望这对你有帮助
  Truetecharticle每个人都知道PHP类中的Snoopy是什么?Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务。PHP类Snoopy的一些特性

php抓取网页snoopy(如何在PHP中做到这一点,而不需要外部的“模拟器”)

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

  php抓取网页snoopy(如何在PHP中做到这一点,而不需要外部的“模拟器”)
  您可以在 cURL 中执行此操作,而无需外部“模拟器”。
  以下代码会将页面检索到 PHP 变量中进行解析。
  脚本
  有一个页面(我们称之为 HOME)可以打开会话。在服务器端,如果是在 PHP 中,则是第一次调用 session_start()(实际上是任意一次)。在其他语言中,您需要一个特定页面来完成所有会话设置。从客户端,它是提供会话 ID cookie 的页面。在 PHP 中,所有会话页面都可以;在其他语言中,登录页面会这样做,其他人会检查cookie是否存在,如果不存在,则不会创建会话,您将被置于HOME。
  有一个页面(登录)会生成一个登录表单并添加一个带有关键信息的会话——“此用户已经登录”。在下面的代码中,这是需要会话 ID 的页面。
  最后,有N页,有好东西可以刮。
  所以我们要打HOME,然后登录,然后GOODIES一一。在 PHP(和其他语言)中,HOME 和 LOGIN 也可能是同一个页面。或者所有页面都可以共享相同的地址,例如在单个页面应用程序中。
  代码
   $url = "the url generating the session ID"; $next_url = "the url asking for session"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // We do not authenticate, only access page to get a session going. // Change to False if it is not enough (you&apos;ll see that cookiefile // remains empty). curl_setopt($ch, CURLOPT_NOBODY, True); // You may want to change User-Agent here, too curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile"); // Just in case curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $ret = curl_exec($ch); // This page we retrieve, and scrape, with GET method foreach(array( CURLOPT_POST => False, // We GET... CURLOPT_NOBODY => False, // ...the body... CURLOPT_URL => $next_url, // ...of $next_url... CURLOPT_BINARYTRANSFER => True, // ...as binary... CURLOPT_RETURNTRANSFER => True, // ...into $ret... CURLOPT_FOLLOWLOCATION => True, // ...following redirections... CURLOPT_MAXREDIRS => 5, // ...reasonably... CURLOPT_REFERER => $url, // ...as if we came from $url... //CURLOPT_COOKIEFILE => &apos;cookiefile&apos;, // Save these cookies //CURLOPT_COOKIEJAR => &apos;cookiefile&apos;, // (already set above) CURLOPT_CONNECTTIMEOUT => 30, // Seconds CURLOPT_TIMEOUT => 300, // Seconds CURLOPT_LOW_SPEED_LIMIT => 16384, // 16 Kb/s CURLOPT_LOW_SPEED_TIME => 15, // ) as $option => $value) if (!curl_setopt($ch, $option, $value)) die("could not set $option to " . serialize($value)); $ret = curl_exec($ch); // Done; cleanup. curl_close($ch);
  实现
  首先,我们必须获得登录页面。
  我们使用了一个特殊的用户代理来介绍自己,为了能够被识别(我们不想和网站管理员对抗),我们还欺骗服务器给我们发送定制版的浏览器&lt; @网站。理想情况下,我们使用与要用于调试页面的任何浏览器相同的 User-Agent,并使用后缀来检查他们是否正在查看自动化工具(请参阅 Halfer 的评论)。
   $ua = &apos;Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0 (ROBOT)&apos;; $cookiefile = "cookiefile"; $url1 = "the login url generating the session ID"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url1); curl_setopt($ch, CURLOPT_USERAGENT, $ua); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, True); curl_setopt($ch, CURLOPT_NOBODY, False); curl_setopt($ch, CURLOPT_RETURNTRANSFER, True); curl_setopt($ch, CURLOPT_BINARYTRANSFER, True); $ret = curl_exec($ch);
  这将检索需要用户/密码的页面。通过检查页面,我们找到了必填字段(包括隐藏的字段)并可以填写它们。FORM 标签告诉我们是否需要继续 POST 或 GET。
  我们可能需要检查表单代码以调整以下操作,因此我们要求cURL将页面内容原样返回给$ret并返回页面正文。有时,将 CURLOPT_NOBODY 设置为 True 仍然足以触发会话创建和 cookie 提交,如果是这样,它会更快。但是 CURLOPT_NOBODY(“无正文”)发出 HEAD 请求而不是 GET。有时 HEAD 请求不起作用,因为服务器只会以完整的 GET 响应。
  除了以这种方式检索正文之外,您还可以使用真实的 Firefox 登录并嗅探使用 Firebug(或 Chrome 和 Chrome 工具)发布的表单内容;一些 网站 会尝试使用 Javascript 来填充/修改隐藏的字段,这样提交的表单就不会变成你在 HTML 代码中看到的表单。
  网站 管理员不希望他的 网站 被抓取,并且可能会发送一个带有时间戳的隐藏字段。一个人(没有太聪明的浏览器的帮助——有办法告诉浏览器不要太聪明;最坏的情况下,每次更改用户名并传递字段)至少需要三秒钟才能填写表格。cURL 脚本为零。当然,可以模拟延迟。这些都是太阳镜
  我们可能还需要注意表单的外观。例如,网站 管理员可以建立一个表单,询问姓名、电子邮件和密码;然后,通过使用 CSS,将“电子邮件”字段移动到要查找名称的位置,反之亦然。因此,实际提交的表单将在名为 username 的字段中收录“@”,但在名为 email 的字段中不收录“@”。服务端,期待这一点,正好将这两个字段颠倒过来。手工制作的“刮板”(或垃圾桶)会做一些看似自然的事情,并在电子邮件字段中发送电子邮件。这样做,它背叛了自己。通过真正的 CSS 和 JS 感知浏览器,发送有意义的数据,并嗅探发送的实际内容,我们也许能够克服这个特殊的障碍。也许,因为有办法让生活变得困难。正如我所说,太极拳。
  回到这个案例,在这个案例中,表单收录三个没有 Javascript 覆盖的字段。我们有 cPASS、cUSR 和 checkLOGIN,其值是“检查登录”。
  因此,我们准备了适当的字段表单。请注意,表单将用作 application/x-www-form-urlencoded,这在 PHP cURL 中意味着两件事:
  正如它所说,表单字段是 urlencoded;有一个功能。
  我们读取表单的 action 字段;这是我们将用于提交身份验证的 URL(我们必须这样做)。
  所以一切都准备好了
   $fields = array( &apos;checkLOGIN&apos; => &apos;Check Login&apos;, &apos;cUSR&apos; => &apos;jb007&apos;, &apos;cPASS&apos; => &apos;astonmartin&apos;, ); $coded = array(); foreach($fields as $field => $value) $coded[] = $field . &apos;=&apos; . urlencode($value); $string = implode(&apos;&&apos;, $coded); curl_setopt($ch, CURLOPT_URL, $url1); //same URL as before, the login url generating the session ID curl_setopt($ch, CURLOPT_POST, True); curl_setopt($ch, CURLOPT_POSTFIELDS, $string); $ret = curl_exec($ch);
  我们现在期待着“你好,詹姆斯——下一场精彩的比赛怎么样?” 页。但更重要的是,我们期望与 $cookiefile 中保存的 cookie 关联的会话已经提供了关键信息——“用户已通过身份验证”。
  因此,所有后续使用 $ch 创建的页面请求和相同的 cookie jar 都将被授予访问权限,使我们能够非常轻松地“抓取”页面——记住将请求模式设置回 GET:
   curl_setopt($ch, CURLOPT_POST, False); // Start spidering foreach($urls as $url) { curl_setopt($ch, CURLOPT_URL, $url); $HTML = curl_exec($ch); if (False === $HTML) { // Something went wrong, check curl_error() and curl_errno(). } } curl_close($ch);
  在循环中,您可以访问 $HTML-每个页面的 HTML 代码。
  使用正则表达式的诱惑很大。你必须抵制它。为了更好地应对不断变化的 HTML,并且当布局保持不变但内容发生变化时(例如,您发现有 Nice、Tourrette-Levens、Castagniers,但从来没有 Asprémont 或 Gattières,是不是很奇怪?),最好的选择是使用 DOM:
  抓取A元素的href属性 查看全部

  php抓取网页snoopy(如何在PHP中做到这一点,而不需要外部的“模拟器”)
  您可以在 cURL 中执行此操作,而无需外部“模拟器”。
  以下代码会将页面检索到 PHP 变量中进行解析。
  脚本
  有一个页面(我们称之为 HOME)可以打开会话。在服务器端,如果是在 PHP 中,则是第一次调用 session_start()(实际上是任意一次)。在其他语言中,您需要一个特定页面来完成所有会话设置。从客户端,它是提供会话 ID cookie 的页面。在 PHP 中,所有会话页面都可以;在其他语言中,登录页面会这样做,其他人会检查cookie是否存在,如果不存在,则不会创建会话,您将被置于HOME。
  有一个页面(登录)会生成一个登录表单并添加一个带有关键信息的会话——“此用户已经登录”。在下面的代码中,这是需要会话 ID 的页面。
  最后,有N页,有好东西可以刮。
  所以我们要打HOME,然后登录,然后GOODIES一一。在 PHP(和其他语言)中,HOME 和 LOGIN 也可能是同一个页面。或者所有页面都可以共享相同的地址,例如在单个页面应用程序中。
  代码
   $url = "the url generating the session ID"; $next_url = "the url asking for session"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // We do not authenticate, only access page to get a session going. // Change to False if it is not enough (you&apos;ll see that cookiefile // remains empty). curl_setopt($ch, CURLOPT_NOBODY, True); // You may want to change User-Agent here, too curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile"); // Just in case curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $ret = curl_exec($ch); // This page we retrieve, and scrape, with GET method foreach(array( CURLOPT_POST => False, // We GET... CURLOPT_NOBODY => False, // ...the body... CURLOPT_URL => $next_url, // ...of $next_url... CURLOPT_BINARYTRANSFER => True, // ...as binary... CURLOPT_RETURNTRANSFER => True, // ...into $ret... CURLOPT_FOLLOWLOCATION => True, // ...following redirections... CURLOPT_MAXREDIRS => 5, // ...reasonably... CURLOPT_REFERER => $url, // ...as if we came from $url... //CURLOPT_COOKIEFILE => &apos;cookiefile&apos;, // Save these cookies //CURLOPT_COOKIEJAR => &apos;cookiefile&apos;, // (already set above) CURLOPT_CONNECTTIMEOUT => 30, // Seconds CURLOPT_TIMEOUT => 300, // Seconds CURLOPT_LOW_SPEED_LIMIT => 16384, // 16 Kb/s CURLOPT_LOW_SPEED_TIME => 15, // ) as $option => $value) if (!curl_setopt($ch, $option, $value)) die("could not set $option to " . serialize($value)); $ret = curl_exec($ch); // Done; cleanup. curl_close($ch);
  实现
  首先,我们必须获得登录页面。
  我们使用了一个特殊的用户代理来介绍自己,为了能够被识别(我们不想和网站管理员对抗),我们还欺骗服务器给我们发送定制版的浏览器&lt; @网站。理想情况下,我们使用与要用于调试页面的任何浏览器相同的 User-Agent,并使用后缀来检查他们是否正在查看自动化工具(请参阅 Halfer 的评论)。
   $ua = &apos;Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0 (ROBOT)&apos;; $cookiefile = "cookiefile"; $url1 = "the login url generating the session ID"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url1); curl_setopt($ch, CURLOPT_USERAGENT, $ua); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, True); curl_setopt($ch, CURLOPT_NOBODY, False); curl_setopt($ch, CURLOPT_RETURNTRANSFER, True); curl_setopt($ch, CURLOPT_BINARYTRANSFER, True); $ret = curl_exec($ch);
  这将检索需要用户/密码的页面。通过检查页面,我们找到了必填字段(包括隐藏的字段)并可以填写它们。FORM 标签告诉我们是否需要继续 POST 或 GET。
  我们可能需要检查表单代码以调整以下操作,因此我们要求cURL将页面内容原样返回给$ret并返回页面正文。有时,将 CURLOPT_NOBODY 设置为 True 仍然足以触发会话创建和 cookie 提交,如果是这样,它会更快。但是 CURLOPT_NOBODY(“无正文”)发出 HEAD 请求而不是 GET。有时 HEAD 请求不起作用,因为服务器只会以完整的 GET 响应。
  除了以这种方式检索正文之外,您还可以使用真实的 Firefox 登录并嗅探使用 Firebug(或 Chrome 和 Chrome 工具)发布的表单内容;一些 网站 会尝试使用 Javascript 来填充/修改隐藏的字段,这样提交的表单就不会变成你在 HTML 代码中看到的表单。
  网站 管理员不希望他的 网站 被抓取,并且可能会发送一个带有时间戳的隐藏字段。一个人(没有太聪明的浏览器的帮助——有办法告诉浏览器不要太聪明;最坏的情况下,每次更改用户名并传递字段)至少需要三秒钟才能填写表格。cURL 脚本为零。当然,可以模拟延迟。这些都是太阳镜
  我们可能还需要注意表单的外观。例如,网站 管理员可以建立一个表单,询问姓名、电子邮件和密码;然后,通过使用 CSS,将“电子邮件”字段移动到要查找名称的位置,反之亦然。因此,实际提交的表单将在名为 username 的字段中收录“@”,但在名为 email 的字段中不收录“@”。服务端,期待这一点,正好将这两个字段颠倒过来。手工制作的“刮板”(或垃圾桶)会做一些看似自然的事情,并在电子邮件字段中发送电子邮件。这样做,它背叛了自己。通过真正的 CSS 和 JS 感知浏览器,发送有意义的数据,并嗅探发送的实际内容,我们也许能够克服这个特殊的障碍。也许,因为有办法让生活变得困难。正如我所说,太极拳。
  回到这个案例,在这个案例中,表单收录三个没有 Javascript 覆盖的字段。我们有 cPASS、cUSR 和 checkLOGIN,其值是“检查登录”。
  因此,我们准备了适当的字段表单。请注意,表单将用作 application/x-www-form-urlencoded,这在 PHP cURL 中意味着两件事:
  正如它所说,表单字段是 urlencoded;有一个功能。
  我们读取表单的 action 字段;这是我们将用于提交身份验证的 URL(我们必须这样做)。
  所以一切都准备好了
   $fields = array( &apos;checkLOGIN&apos; => &apos;Check Login&apos;, &apos;cUSR&apos; => &apos;jb007&apos;, &apos;cPASS&apos; => &apos;astonmartin&apos;, ); $coded = array(); foreach($fields as $field => $value) $coded[] = $field . &apos;=&apos; . urlencode($value); $string = implode(&apos;&&apos;, $coded); curl_setopt($ch, CURLOPT_URL, $url1); //same URL as before, the login url generating the session ID curl_setopt($ch, CURLOPT_POST, True); curl_setopt($ch, CURLOPT_POSTFIELDS, $string); $ret = curl_exec($ch);
  我们现在期待着“你好,詹姆斯——下一场精彩的比赛怎么样?” 页。但更重要的是,我们期望与 $cookiefile 中保存的 cookie 关联的会话已经提供了关键信息——“用户已通过身份验证”。
  因此,所有后续使用 $ch 创建的页面请求和相同的 cookie jar 都将被授予访问权限,使我们能够非常轻松地“抓取”页面——记住将请求模式设置回 GET:
   curl_setopt($ch, CURLOPT_POST, False); // Start spidering foreach($urls as $url) { curl_setopt($ch, CURLOPT_URL, $url); $HTML = curl_exec($ch); if (False === $HTML) { // Something went wrong, check curl_error() and curl_errno(). } } curl_close($ch);
  在循环中,您可以访问 $HTML-每个页面的 HTML 代码。
  使用正则表达式的诱惑很大。你必须抵制它。为了更好地应对不断变化的 HTML,并且当布局保持不变但内容发生变化时(例如,您发现有 Nice、Tourrette-Levens、Castagniers,但从来没有 Asprémont 或 Gattières,是不是很奇怪?),最好的选择是使用 DOM:
  抓取A元素的href属性

php抓取网页snoopy(Snoopy的特点:抓取网页的文本内容(去除HTML标签))

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

  php抓取网页snoopy(Snoopy的特点:抓取网页的文本内容(去除HTML标签))
  Snoopy是一个PHP类,用于模拟浏览器的功能。它可以获取web内容、发送表单以及开发一些采集程序和小偷程序
  史努比的一些特点:
  获取网页的内容
  抓取网页的文本内容(删除HTML标记)抓取文本
  抓取网页链接,表单获取链接获取表单
  支持代理主机
  支持基本用户名/密码身份验证
  支持设置用户代理、引用、cookie和标题内容
  支持浏览器重定向并控制重定向深度
  可以将网页中的链接扩展为高质量URL(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  Snoopy类方法和示例:
  获取($URI)
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  史努比采集类属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(Snoopy的特点:抓取网页的文本内容(去除HTML标签))
  Snoopy是一个PHP类,用于模拟浏览器的功能。它可以获取web内容、发送表单以及开发一些采集程序和小偷程序
  史努比的一些特点:
  获取网页的内容
  抓取网页的文本内容(删除HTML标记)抓取文本
  抓取网页链接,表单获取链接获取表单
  支持代理主机
  支持基本用户名/密码身份验证
  支持设置用户代理、引用、cookie和标题内容
  支持浏览器重定向并控制重定向深度
  可以将网页中的链接扩展为高质量URL(默认)
  提交数据并获取返回值
  支持跟踪HTML框架
  支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  Snoopy类方法和示例:
  获取($URI)
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  史努比采集类属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(模拟浏览器的一些特点:Snoopy的特点及特点分析)

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

  php抓取网页snoopy(模拟浏览器的一些特点:Snoopy的特点及特点分析)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、推荐人、cookies和headercontent
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(模拟浏览器的一些特点:Snoopy的特点及特点分析)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、推荐人、cookies和headercontent
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy( 下载snoopySnoopy的一些特点(一)(组图))

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

  php抓取网页snoopy(
下载snoopySnoopy的一些特点(一)(组图))
  
  
  
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  Snoopy需要服务器的PHP版本在4以上才能正确运行,并且支持PCRE(Perl兼容的正则表达式),这是基本lamp服务所支持的
  下载史努比
  史努比的一些特点:
  一,。获取网页的内容
  二,。抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页的链接和抓取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  六,。支持设置用户代理、引用、cookie和标题内容
  七,。支持浏览器重定向并控制重定向深度
  八,。它可以将网页中的链接扩展为高质量的URL(默认)
  九,。提交数据并获取返回值
  十,。支持跟踪HTML框架
  十一,。支持在重定向期间传递cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  捕获的结果存储在$this-&gt;结果
  如果您正在抓取帧,Snoopy将跟踪每个帧并将其存储在阵列中,然后存储$this-&gt;结果
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(
下载snoopySnoopy的一些特点(一)(组图))
  
  
  
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  Snoopy需要服务器的PHP版本在4以上才能正确运行,并且支持PCRE(Perl兼容的正则表达式),这是基本lamp服务所支持的
  下载史努比
  史努比的一些特点:
  一,。获取网页的内容
  二,。抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页的链接和抓取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  六,。支持设置用户代理、引用、cookie和标题内容
  七,。支持浏览器重定向并控制重定向深度
  八,。它可以将网页中的链接扩展为高质量的URL(默认)
  九,。提交数据并获取返回值
  十,。支持跟踪HTML框架
  十一,。支持在重定向期间传递cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  捕获的结果存储在$this-&gt;结果
  如果您正在抓取帧,Snoopy将跟踪每个帧并将其存储在阵列中,然后存储$this-&gt;结果
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy( PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)

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

  php抓取网页snoopy(
PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)
  /**
* @name Snoopy手册中文版
* @author 毛毛虫 wangchong1985@gmail.com
* @version Snoopy - the PHP net client v1.2.2
* @link http://www.wangchong.org
* @since 2008-04-27
*/ <br />名称:<br /><br /> Snoopy - the PHP net client v1.2.2<br /> <br />概要:<br /><br /> include "Snoopy.class.php";
$snoopy = new Snoopy;

$snoopy->fetchtext("http://www.php.net/");
print $snoopy->results;

$snoopy->fetchlinks("http://www.phpbuilder.com/");
print $snoopy->results;

$submit_url = "http://lnk.ispi.net/texis/scri ... 3B%3B

$submit_vars["q"] = "amiga";
$submit_vars["submit"] = "Search!";
$submit_vars["searchhost"] = "Altavista";

$snoopy->submit($submit_url,$submit_vars);
print $snoopy->results;

$snoopy->maxframes=5;
$snoopy->fetch("http://www.ispi.net/");
echo "/n";
echo htmlentities($snoopy->results[0]);
echo htmlentities($snoopy->results[1]);
echo htmlentities($snoopy->results[2]);
echo "
  /n“;$snoopy->fetchform(“”);打印$snoopy->结果
  说明:
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *它支持设置用户\代理、引用、cookies和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *再次旋转时支持cookies的传送(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  它应该是PHP3.0.9及更高版本。对于读取超时支持,它需要
  PHP 4 Beta 4或更高版本。Snoopy是用PHP开发和测试的
  类方法:
  获取($URI)
  -----------
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的文本内容
  fetchform($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ----------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  ----------------------
  此方法向$URL指定的链接地址发送确认表单。$formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------------------------
  此方法类似于submit(),唯一的区别是此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ----------------
  此方法类似于submit()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\u host使用的代理主机(如果有)
  $proxy_port使用的代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(
PHP4BetaorSnoopy4orPHP3.0.12.类方法:方便抓取网页)
  /**
* @name Snoopy手册中文版
* @author 毛毛虫 wangchong1985@gmail.com
* @version Snoopy - the PHP net client v1.2.2
* @link http://www.wangchong.org
* @since 2008-04-27
*/ <br />名称:<br /><br /> Snoopy - the PHP net client v1.2.2<br /> <br />概要:<br /><br /> include "Snoopy.class.php";
$snoopy = new Snoopy;

$snoopy->fetchtext("http://www.php.net/";);
print $snoopy->results;

$snoopy->fetchlinks("http://www.phpbuilder.com/";);
print $snoopy->results;

$submit_url = "http://lnk.ispi.net/texis/scri ... 3B%3B

$submit_vars["q"] = "amiga";
$submit_vars["submit"] = "Search!";
$submit_vars["searchhost"] = "Altavista";

$snoopy->submit($submit_url,$submit_vars);
print $snoopy->results;

$snoopy->maxframes=5;
$snoopy->fetch("http://www.ispi.net/";);
echo "/n";
echo htmlentities($snoopy->results[0]);
echo htmlentities($snoopy->results[1]);
echo htmlentities($snoopy->results[2]);
echo "
  /n“;$snoopy->fetchform(“”);打印$snoopy->结果
  说明:
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *它支持设置用户\代理、引用、cookies和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *再次旋转时支持cookies的传送(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  它应该是PHP3.0.9及更高版本。对于读取超时支持,它需要
  PHP 4 Beta 4或更高版本。Snoopy是用PHP开发和测试的
  类方法:
  获取($URI)
  -----------
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的文本内容
  fetchform($URI)
  ---------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ----------------
  此方法类似于fetch()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  ----------------------
  此方法向$URL指定的链接地址发送确认表单。$formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------------------------
  此方法类似于submit(),唯一的区别是此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ----------------
  此方法类似于submit()。唯一的区别是此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\u host使用的代理主机(如果有)
  $proxy_port使用的代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(Snoopy是什么?PHP4Beta4or.SnoopyorSnoopy)

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

  php抓取网页snoopy(Snoopy是什么?PHP4Beta4or.SnoopyorSnoopy)
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  应该是PHP3.0.9及以上。对于读取超时支持,它需要
  PHP4Beta4或更高版本。史努比是用PHP开发和测试的
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $MaxEditor最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(Snoopy是什么?PHP4Beta4or.SnoopyorSnoopy)
  什么是史努比
  Snoopy是一个PHP类,用于模拟web浏览器的功能。它可以完成获取网页内容和发送表单的任务
  史努比的一些特点:
  *易于抓取网页内容
  *易于抓取网页的文本内容(删除HTML标记)
  *易于获取网页链接
  *支持代理主机
  *支持基本用户名/密码身份验证
  *支持设置用户代理、引用、cookie和标题内容
  *支持浏览器转向和控制转向深度
  *可以将网页中的链接扩展为高质量URL(默认)
  *提交数据和获取返回值很方便
  *支持跟踪HTML框架(添加了V0.92)
  *重新转向时支持Cookie的交付(添加了V0.92)
  要求:
  Snoopy需要PHP和PCRE(Perl兼容的正则表达式)
  应该是PHP3.0.9及以上。对于读取超时支持,它需要
  PHP4Beta4或更高版本。史努比是用PHP开发和测试的
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $MaxEditor最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)

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

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)

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

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(php一个类无需扩支持服务器的特点及下载地址介绍)
  Snoopy是一个PHP类,用于模拟浏览器的功能。您可以获取web内容并发送表单
  下载地址:
  史努比的一些特点:
  1获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  类方法:
  获取($URI)
  ---–
  这是一种用于获取网页内容的方法
  $URI参数是已爬网网页的URL地址
  获取的结果存储在$this->results中
  如果您正在抓取一帧,Snoopy将跟踪每个帧并将其存储在数组中,然后存储$this->results
  fetchtext($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的文本内容
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比V0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向时间,0=不允许(5)
  $offsiteok是否允许场外重定向。(true)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

php抓取网页snoopy(【技巧】php防盗链的使用方法及使用技巧! )

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

  php抓取网页snoopy(【技巧】php防盗链的使用方法及使用技巧!
)
  一.方法:
  1、首次下载snoopy类,下载地址:
  2、首先实例化一个对象,然后调用相应的方法来获取抓取的Web信息
  示例:
  include 'snoopy/Snoopy.class.php';$snoopy = new Snoopy();$sourceURL = "http://xxxxxxxxx";$snoopy->fetchlinks($sourceURL);$a = $snoopy->results;
  它不提供获取网页中的所有图像地址的方法,要求在页面中的所有文章列表中获取页面地址。然后我写了一个,主要是那里重要。
  //匹配图片的正则表达式 $reTag = "/[^s]+src=\"(http:\/\/[^\"]+).(jpg|png|gif|jpeg)\"[^\/]*\/>/i";
  由于需要特殊的需求,只需捕获死亡的图片HTP://(外部站的图片可能会使防盗链,我想捕获本地)
  实现:
  1、抓住了指定的网页并过滤掉所有文章地址;
  2、cycy抓住文章地址在第一步中,然后使用匹配图片的正则表达式匹配,获取页面中的排序规则的所有排序规则;
  3、图库(这里只有gif,jpg)保存图片 - 如果存在此图像文件,请先删除它并保存
<p> 查看全部

  php抓取网页snoopy(【技巧】php防盗链的使用方法及使用技巧!
)
  一.方法:
  1、首次下载snoopy类,下载地址:
  2、首先实例化一个对象,然后调用相应的方法来获取抓取的Web信息
  示例:
  include 'snoopy/Snoopy.class.php';$snoopy = new Snoopy();$sourceURL = "http://xxxxxxxxx";$snoopy->fetchlinks($sourceURL);$a = $snoopy->results;
  它不提供获取网页中的所有图像地址的方法,要求在页面中的所有文章列表中获取页面地址。然后我写了一个,主要是那里重要。
  //匹配图片的正则表达式 $reTag = "/[^s]+src=\"(http:\/\/[^\"]+).(jpg|png|gif|jpeg)\"[^\/]*\/>/i";
  由于需要特殊的需求,只需捕获死亡的图片HTP://(外部站的图片可能会使防盗链,我想捕获本地)
  实现:
  1、抓住了指定的网页并过滤掉所有文章地址;
  2、cycy抓住文章地址在第一步中,然后使用匹配图片的正则表达式匹配,获取页面中的排序规则的所有排序规则;
  3、图库(这里只有gif,jpg)保存图片 - 如果存在此图像文件,请先删除它并保存
<p>

php抓取网页snoopy(抓取网页的内容2抓取(2)的文本内容)

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

  php抓取网页snoopy(抓取网页的内容2抓取(2)的文本内容)
  获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比)v0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向次数,0=不允许(5))@
  $offsiteok是否允许场外重定向。(对)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有) 查看全部

  php抓取网页snoopy(抓取网页的内容2抓取(2)的文本内容)
  获取网页的内容
  2抓取网页的文本内容(删除HTML标记)抓取文本
  三,。抓取网页链接和表单获取链接获取表单
  四,。支持代理主机
  五,。支持基本用户名/密码身份验证
  6支持设置用户代理、引用、cookies和标题内容
  7支持浏览器重定向,可以控制重定向深度
  8可以将网页中的链接扩展为高质量URL(默认)
  9提交数据并获取返回值
  10支持跟踪HTML框架
  十一,。支持重定向时传输cookie
  PHP4或以上就足够了。因为它是一个PHP类,所以不需要扩展来支持它。当服务器不支持curl时,它是最佳选择
  fetchform($URI)
  -----
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他不相关的数据,并且只返回网页中的表单内容
  获取链接($URI)
  ------
  此方法类似于fetch()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  提交($URI,$formvars)
  --------
  此方法向$URL指定的链接地址发送确认表单$Formvars是存储表单参数的数组
  submittext($URI,$formvars)
  --------–
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且仅在登录后返回网页中的文本内容
  提交链接($URI)
  ------
  此方法类似于submit()。唯一的区别是,此方法将删除HTML标记和其他无关数据,并且只返回网页中的链接
  默认情况下,相对链接会自动完成并转换为完整URL
  Class属性:(默认值在括号中)
  $host连接的主机
  $port连接端口
  $proxy\主机使用的代理主机(如果有)
  $proxy\端口使用代理主机端口(如果有)
  $agent用户代理伪装(史努比)v0.1)
  $referer源信息(如果有)
  $cookies饼干,如有
  $rawheads其他标题信息(如有)
  $maxredrs最大重定向次数,0=不允许(5))@
  $offsiteok是否允许场外重定向。(对)
  $expandlinks是否完成指向完整地址的所有链接(true)
  $user authentication username(如果有)
  $pass身份验证用户名(如果有)

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

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

  php抓取网页snoopy(:Snoopy是什么?的一些特点:方便抓取网页的内容)
  目录
  []
  当您使用PHP时,并希望执行一些采集任务,那么您应该了解史努比。
  什么是snoopy?
  snoopy是模拟Web浏览器的功能的PHP类,可以完成获取Web内容并发送表单的任务。
  snoopy的声音:
  *方便捕获网页
  *方便捕获网页的文本内容(删除HTML标记)
  *方便捕获网页的链接
  *支持代理主机
  *支持基本用户名/密码验证
  *支持set user_agent,referer,cookie和header内容(头文件)
  *支持浏览器转向并控制转向深度
  *可以将网页中的链接扩展为高质量的URL(默认)
  *有助于数据并获取返回值
  *支持跟踪HTML帧(v 0. 92添加)
  *支持重新转向,通过cookie(v 0. 92增加)
  *支持重新转向,通过cookie
  要求:
  Snoopy需要PHP使用PCRE(Perl兼容的正则表达式),
  哪个商店是php 3.0. 9和Up。对于读取超时支持,它需要
  PHP 4 beta 4或更高版本。史努比是通过PHP 3.0. 1 2.
  测试和测试
  方法:
  获取($ uri)
  ----
  这是用于捕获网页内容的方法。
  $ uri参数是网页捕获的URL地址。
  结果存储在$ this-和gt;结果。
  如果您正在抓取框架,Snoopy将每个框架存储到数组中,然后存入$ this-&gt;结果。
  fetchtext($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks($ uri)
  ------
  此方法类似于fetch(),唯一的区别是该方法删除HTML标记和其他不相关的数据,仅在网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  提交($ uri,$ formvars)
  --------
  此方法将确认表单发送到$ URL指定的链接地址。 $ formvars是存储表单个参数的数组。
  submittext($ uri,$ formvars)
  ---------
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks($ uri)
  ------
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  类属性:(括号中的默认值)
  $ host连接主机
  $端口连接端口
  $ proxy_host使用代理主机(如果有),
  $ proxy_port由代理主机端口使用,如果有的话,
  $代理用户代理伪装(snoopy v 0.1)
  $ crew it写入信息,如果有的话,
  $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  $ maxredirs最大重定向,0 =不允许(5)
  $ offsiteok是否允许从现场重定向。 (true)
  $ odernlinks完成链接到完整地址(true)
  $用户认证的用户名,如果有的话,
  $ pass身份验证的用户名,如果有任何单词 查看全部

  php抓取网页snoopy(:Snoopy是什么?的一些特点:方便抓取网页的内容)
  目录
  []
  当您使用PHP时,并希望执行一些采集任务,那么您应该了解史努比。
  什么是snoopy?
  snoopy是模拟Web浏览器的功能的PHP类,可以完成获取Web内容并发送表单的任务。
  snoopy的声音:
  *方便捕获网页
  *方便捕获网页的文本内容(删除HTML标记)
  *方便捕获网页的链接
  *支持代理主机
  *支持基本用户名/密码验证
  *支持set user_agent,referer,cookie和header内容(头文件)
  *支持浏览器转向并控制转向深度
  *可以将网页中的链接扩展为高质量的URL(默认)
  *有助于数据并获取返回值
  *支持跟踪HTML帧(v 0. 92添加)
  *支持重新转向,通过cookie(v 0. 92增加)
  *支持重新转向,通过cookie
  要求:
  Snoopy需要PHP使用PCRE(Perl兼容的正则表达式),
  哪个商店是php 3.0. 9和Up。对于读取超时支持,它需要
  PHP 4 beta 4或更高版本。史努比是通过PHP 3.0. 1 2.
  测试和测试
  方法:
  获取($ uri)
  ----
  这是用于捕获网页内容的方法。
  $ uri参数是网页捕获的URL地址。
  结果存储在$ this-和gt;结果。
  如果您正在抓取框架,Snoopy将每个框架存储到数组中,然后存入$ this-&gt;结果。
  fetchtext($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform($ uri)
  -----
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks($ uri)
  ------
  此方法类似于fetch(),唯一的区别是该方法删除HTML标记和其他不相关的数据,仅在网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  提交($ uri,$ formvars)
  --------
  此方法将确认表单发送到$ URL指定的链接地址。 $ formvars是存储表单个参数的数组。
  submittext($ uri,$ formvars)
  ---------
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks($ uri)
  ------
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。
  默认情况下,相对链接将自动完成,转换为完整的URL。
  类属性:(括号中的默认值)
  $ host连接主机
  $端口连接端口
  $ proxy_host使用代理主机(如果有),
  $ proxy_port由代理主机端口使用,如果有的话,
  $代理用户代理伪装(snoopy v 0.1)
  $ crew it写入信息,如果有的话,
  $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  $ maxredirs最大重定向,0 =不允许(5)
  $ offsiteok是否允许从现场重定向。 (true)
  $ odernlinks完成链接到完整地址(true)
  $用户认证的用户名,如果有的话,
  $ pass身份验证的用户名,如果有任何单词

php抓取网页snoopy(php类模拟浏览器Snoopy(\$URI)的特点)

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

  php抓取网页snoopy(php类模拟浏览器Snoopy(\$URI)的特点)
  snoopy是一个php类,用于模拟浏览器的功能,获取Web内容,发送表单。 snoopy运行了在4个或更多的服务器的PHP版本,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  一、 snoopy一些功能
  1.爬行内容获取
  2. grabed文本内容(删除html标记)fetchtext
  3. crawl链接,表单fetchlinks fetchform
  4.支持代理主机
  5.支持基本用户名/密码验证
  6.支持set user_agent,treeer,cookie和header内容(头文件)
  7.支持浏览器重定向,并控制重定向深度
  8.可以将网页中的链接扩展为高质量的URL(默认)
  9.提交数据并获取返回值
  1 0.支持跟踪HTML帧
  1 1.支持重定向,传递cookie,需要php4或更多,因为它是一类PHP,无需支持,服务器不支持卷曲选择
  二、方法
  获取(\ $ uri)
  这是用于捕获网页内容的方法。 \ $ URI参数是网页捕获的URL地址。结果存储在\ $ this-和gt中;结果。如果您爬行是一个框架,史努比将每个框架存储到一个数组中,然后存入\ $ this-&gt;结果。
  fetchtext(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks(\ $ uri)此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  提交(\ $ uri,\ $ formvars)
  此方法将确认表单发送到由\ $ URL指定的链接地址。 $ formvars是一系列存储的表单个参数。
  submittext(\ $ uri,\ $ formvars)
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks(\ $ uri)
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  三、 class属性(括号中的默认值)
  \ $ host连接主机
  \ $端口连接端口
  \ $ proxy_host由代理主机使用,如果有的话,
  \ $ proxy_port使用的代理主机端口,如果有的话,
  \ $代理用户代理伪装(snoopy v 0.1)
  \ $相关信息,如果有任何单词
  \ $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  \ $ maxredirs最大重定向,0 =不允许(5)
  \ $ offsiteok whers或不允许从现场重定向。 (true)
  \ $ odernlinks完成完整地址(true)
  的链接
  \ $用户认证的用户名,如果有的话,
  \ $传递身份验证用户名,如果有任何单词 查看全部

  php抓取网页snoopy(php类模拟浏览器Snoopy(\$URI)的特点)
  snoopy是一个php类,用于模拟浏览器的功能,获取Web内容,发送表单。 snoopy运行了在4个或更多的服务器的PHP版本,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  一、 snoopy一些功能
  1.爬行内容获取
  2. grabed文本内容(删除html标记)fetchtext
  3. crawl链接,表单fetchlinks fetchform
  4.支持代理主机
  5.支持基本用户名/密码验证
  6.支持set user_agent,treeer,cookie和header内容(头文件)
  7.支持浏览器重定向,并控制重定向深度
  8.可以将网页中的链接扩展为高质量的URL(默认)
  9.提交数据并获取返回值
  1 0.支持跟踪HTML帧
  1 1.支持重定向,传递cookie,需要php4或更多,因为它是一类PHP,无需支持,服务器不支持卷曲选择
  二、方法
  获取(\ $ uri)
  这是用于捕获网页内容的方法。 \ $ URI参数是网页捕获的URL地址。结果存储在\ $ this-和gt中;结果。如果您爬行是一个框架,史努比将每个框架存储到一个数组中,然后存入\ $ this-&gt;结果。
  fetchtext(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回网页中的文本内容。
  fetchform(\ $ uri)
  此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回网页中的表单内容(表单)。
  fetchlinks(\ $ uri)此方法类似于fetch(),唯一的区别是此方法删除HTML标记和其他不相关的数据,只返回到网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  提交(\ $ uri,\ $ formvars)
  此方法将确认表单发送到由\ $ URL指定的链接地址。 $ formvars是一系列存储的表单个参数。
  submittext(\ $ uri,\ $ formvars)
  此方法类似于提交(),唯一的区别是此方法删除HTML标记和其他独立数据,只返回登录中的文本内容。
  submitlinks(\ $ uri)
  此方法类似于提交(),唯一的区别是此方法将删除HTML标记和其他不相关的数据,只返回网页中的链接(链接)。默认情况下,将自动完成相对链接,转换为完整的URL。
  三、 class属性(括号中的默认值)
  \ $ host连接主机
  \ $端口连接端口
  \ $ proxy_host由代理主机使用,如果有的话,
  \ $ proxy_port使用的代理主机端口,如果有的话,
  \ $代理用户代理伪装(snoopy v 0.1)
  \ $相关信息,如果有任何单词
  \ $ cookie cookie,如果有的话
  $ rawheaders其他标题信息,如果有的话,
  \ $ maxredirs最大重定向,0 =不允许(5)
  \ $ offsiteok whers或不允许从现场重定向。 (true)
  \ $ odernlinks完成完整地址(true)
  的链接
  \ $用户认证的用户名,如果有的话,
  \ $传递身份验证用户名,如果有任何单词

php抓取网页snoopy(PHP官网:特点Snoopy正确运行需要你的服务器(组图) )

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

  php抓取网页snoopy(PHP官网:特点Snoopy正确运行需要你的服务器(组图)
)
  snoopy是一类PHP。它可用于模仿Web浏览器的功能,可以完成获取Web内容并发送表单的任务。官方网站:
  功能
  snoopy运行服务器的PHP版本,需要在4个或更多中正确运行,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  方法功能
  提供以下界面或方法:
  获取($ uri)
  此方法是捕获网页的内容,$ URI是捕获网页的URL,结果存储在$ this-和gt;结果。如果捕获框架,将捕获此帧,结果保存到数组。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
  fetchtext($ uri)
  此方法和fetch()大致相同,但其结果是文本,删除HTML标签和其他不相关信息。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetchtext($url); //获取文本内容
echo $snoopy->results; //显示结果
  fetchform($ uri)
  此方法仅返回抓取网页。
  fetchlinks($ uri)
  此方法仅返回抓取网页上的链接,默认返回的链接是收录域名的链接。
  提交($ uri,$ formvars)
  此方法将表单提交给指定的$ URI。 $ formvars是一个形式变量的数组来传递。
  submittext($ uri,$ formvars)
  此方法并提交()基本一致,但它返回文本,删除HTML标记和其他不相关的数据。
  submitlinks($ uri)
  此方法返回链接。
  类属性
  以下是Snoopy属性,默认值为括号。
  简单的例子
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.wenjiangs.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.wenjiangs.cn")) {
echo "".htmlspecialchars($snoopy->results)."
  n“;} else {echo”错误获取文档:“$ snoopy-&gt;错误。” n“;}
  获取指定的URL内容
  $url = "https://www.wenjiangs.com";
include("snoopy.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
//可选以下
//$snoopy->fetchtext //获取文本内容(去掉html代码)
//$snoopy->fetchlinks //获取链接
//$snoopy->fetchform //获取表单
  表单提交
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";//表单提交地址
$snoopy->submit($action,$formvars);//$formvars为提交的数组
echo $snoopy->results; //获取表单提交后的 返回的结果
//可选以下
$snoopy->submittext; //提交后只返回 去除html的 文本
$snoopy->submitlinks;//提交后只返回 链接
  其他SAO操作
  由于已经提交的表格,您可以做很多。接下来我们来伪装IP,迷彩浏览器:
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";
include "snoopy.php";
$snoopy = new Snoopy;
$snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //伪装sessionid
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器
$snoopy->referer = https://www.wenjiangs.com; //伪装来源页地址 http_referer
$snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息
$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.1"; //伪装ip
$snoopy->submit($action,$formvars);
echo $snoopy->results;
  我们可以为会话做饭,迷彩浏览器,伪装IP,你可以做很多。例如:使用验证码,验证IP,投票,无法停止。
  此处IP实际上是伪装HTTP标题,因此Remote_Addr获取的IP是伪装,而是可以通过HTTP标头(可以阻止代理)的人创建IP。
  关于如何验证代码,简单:首先使用正常的浏览器,查看页面,找到对应验证码的会话方式,并记下SessionID和验证码值,然后使用Snoopy伪造。
  原理:由于相同的SessionID与验证码相同,并且第一个输入是相同的。
  有时我们可能需要更多的东西,史努比想到我们:
  $snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "8080"; //使用代理
$snoopy->maxredirs = 2; //重定向次数
$snoopy->expandlinks = true; //是否补全链接 在采集的时候经常用到
// 例如链接为 /images/taoav.gif 可改为它的全链接
//
// https://www.wenjiangs.com/wp-c ... 2.jpg
//
$snoopy->maxframes = 5 //允许的最大框架数
//注意抓取框架的时候 $snoopy->results 返回的是一个数组
$snoopy->error //返回报错信息
  比较例
  /**
* 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.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:
";
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";
}
  图片采集器
  用snoopy类采集:
  完成一个简单的图片
  include 'Snoopy.class.php'; //加载Snoopy类
$snoopy = new Snoopy(); //实例化一个对象
$sourceURL = "http://www.nowamagic.net/librarys/veda/"; //要抓取的网页
$snoopy->fetchlinks($sourceURL); //获得网页的链接
$a = $snoopy->results; //得到网页链接的结果
$re = "/d+.html$/"; //匹配的正则
//过滤获取指定的文件地址请求
foreach ($a as $tmp) {
if (preg_match($re, $tmp)) {
$aa = $tmp;
}
}
getImgURL($aa);
function getImgURL($siteName) {
$snoopy = new Snoopy();
$snoopy->fetch($siteName);
$fileContent = $snoopy->results; //获取过滤后的页面的内容
//匹配图片的正则表达式
$reTag = "/(http: //[^/i";
if (preg_match($reTag, $fileContent)) {
//过滤图片
$ret = preg_match_all($reTag, $fileContent, $matchResult);
for ($i = 0, $len = count($matchResult[1]); $i < $len; ++$i) {
saveImgURL($matchResult[1][$i], $matchResult[2][$i]);
}
}
}
function saveImgURL($name, $suffix) {
$url = $name . "." . $suffix;
echo "请求的图片地址:" . $url . "
";
$imgSavePath = "E:/123/images/"; //图片保存地址
$imgId = mt_rand(); //产生一个随机的文件名
if ($suffix == "gif") {
//根据图片类型,放入不同的文件夹下面
$imgSavePath.= "emotion";
} else {
$imgSavePath.= "topic";
}
$imgSavePath.= ("/" . $imgId . "." . $suffix); //组装要保存的文件名
if (is_file($imgSavePath)) {
//判断文件名是否存在,存在则删除
unlink($imgSavePath);
echo "<p style='color:#f00;'>文件" . $imgSavePath . "已存在,将被删除";
}
$imgFile = file_get_contents($url); //读取网络文件
$flag = file_put_contents($imgSavePath, $imgFile); //写入到本地
if ($flag) {
echo "
  文件" . $imgSavePath . "保存成功";
}
}
}</p>
  使用
  在WordPress
  中
  在WordPress中,此类已收录此类。 WordPress使用Snoopy下载文件以更新插件,其中Snoopy类使用的代码为:
  function download_url( $url ) {
if( ! $url )
return false;

$tmpfname = tempnam(get_temp_dir(), 'wpupdate'); //获取临时文件名
if( ! $tmpfname )
return false;

$handle = fopen($tmpfname, 'w'); //以写的方式打开临时文件
if( ! $handle )
return false;

require_once( ABSPATH . 'wp-includes/class-snoopy.php' ); //引入 Snoopy 类
$snoopy = new Snoopy();
$snoopy->fetch($url); //抓取指定的网页

fwrite($handle, $snoopy->results); //把抓取得内容写到 临时文件中
fclose($handle);

return $tmpfname;
} 查看全部

  php抓取网页snoopy(PHP官网:特点Snoopy正确运行需要你的服务器(组图)
)
  snoopy是一类PHP。它可用于模仿Web浏览器的功能,可以完成获取Web内容并发送表单的任务。官方网站:
  功能
  snoopy运行服务器的PHP版本,需要在4个或更多中正确运行,并支持PCRE(Perl兼容的正则表达式),基本灯泡服务支持。
  方法功能
  提供以下界面或方法:
  获取($ uri)
  此方法是捕获网页的内容,$ URI是捕获网页的URL,结果存储在$ this-和gt;结果。如果捕获框架,将捕获此帧,结果保存到数组。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
  fetchtext($ uri)
  此方法和fetch()大致相同,但其结果是文本,删除HTML标签和其他不相关信息。
  $url = "https://www.wenjiangs.com";
include("./Snoopy.class.php");
$snoopy = new Snoopy;
$snoopy->fetchtext($url); //获取文本内容
echo $snoopy->results; //显示结果
  fetchform($ uri)
  此方法仅返回抓取网页。
  fetchlinks($ uri)
  此方法仅返回抓取网页上的链接,默认返回的链接是收录域名的链接。
  提交($ uri,$ formvars)
  此方法将表单提交给指定的$ URI。 $ formvars是一个形式变量的数组来传递。
  submittext($ uri,$ formvars)
  此方法并提交()基本一致,但它返回文本,删除HTML标记和其他不相关的数据。
  submitlinks($ uri)
  此方法返回链接。
  类属性
  以下是Snoopy属性,默认值为括号。
  简单的例子
  include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "80";
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.wenjiangs.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.wenjiangs.cn";)) {
echo "".htmlspecialchars($snoopy->results)."
  n“;} else {echo”错误获取文档:“$ snoopy-&gt;错误。” n“;}
  获取指定的URL内容
  $url = "https://www.wenjiangs.com";
include("snoopy.php");
$snoopy = new Snoopy;
$snoopy->fetch($url); //获取所有内容
echo $snoopy->results; //显示结果
//可选以下
//$snoopy->fetchtext //获取文本内容(去掉html代码)
//$snoopy->fetchlinks //获取链接
//$snoopy->fetchform //获取表单
  表单提交
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";//表单提交地址
$snoopy->submit($action,$formvars);//$formvars为提交的数组
echo $snoopy->results; //获取表单提交后的 返回的结果
//可选以下
$snoopy->submittext; //提交后只返回 去除html的 文本
$snoopy->submitlinks;//提交后只返回 链接
  其他SAO操作
  由于已经提交的表格,您可以做很多。接下来我们来伪装IP,迷彩浏览器:
  $formvars["username"] = "admin";
$formvars["pwd"] = "admin";
$action = "https://www.wenjiangs.com";
include "snoopy.php";
$snoopy = new Snoopy;
$snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //伪装sessionid
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器
$snoopy->referer = https://www.wenjiangs.com; //伪装来源页地址 http_referer
$snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息
$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.1"; //伪装ip
$snoopy->submit($action,$formvars);
echo $snoopy->results;
  我们可以为会话做饭,迷彩浏览器,伪装IP,你可以做很多。例如:使用验证码,验证IP,投票,无法停止。
  此处IP实际上是伪装HTTP标题,因此Remote_Addr获取的IP是伪装,而是可以通过HTTP标头(可以阻止代理)的人创建IP。
  关于如何验证代码,简单:首先使用正常的浏览器,查看页面,找到对应验证码的会话方式,并记下SessionID和验证码值,然后使用Snoopy伪造。
  原理:由于相同的SessionID与验证码相同,并且第一个输入是相同的。
  有时我们可能需要更多的东西,史努比想到我们:
  $snoopy->proxy_host = "https://www.wenjiangs.com";
$snoopy->proxy_port = "8080"; //使用代理
$snoopy->maxredirs = 2; //重定向次数
$snoopy->expandlinks = true; //是否补全链接 在采集的时候经常用到
// 例如链接为 /images/taoav.gif 可改为它的全链接
//
//
https://www.wenjiangs.com/wp-c ... 2.jpg
//
$snoopy->maxframes = 5 //允许的最大框架数
//注意抓取框架的时候 $snoopy->results 返回的是一个数组
$snoopy->error //返回报错信息
  比较例
  /**
* 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.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:

";
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";
}
  图片采集
  用snoopy类采集:
  完成一个简单的图片
  include 'Snoopy.class.php'; //加载Snoopy类
$snoopy = new Snoopy(); //实例化一个对象
$sourceURL = "http://www.nowamagic.net/librarys/veda/"; //要抓取的网页
$snoopy->fetchlinks($sourceURL); //获得网页的链接
$a = $snoopy->results; //得到网页链接的结果
$re = "/d+.html$/"; //匹配的正则
//过滤获取指定的文件地址请求
foreach ($a as $tmp) {
if (preg_match($re, $tmp)) {
$aa = $tmp;
}
}
getImgURL($aa);
function getImgURL($siteName) {
$snoopy = new Snoopy();
$snoopy->fetch($siteName);
$fileContent = $snoopy->results; //获取过滤后的页面的内容
//匹配图片的正则表达式
$reTag = "/(http: //[^/i";
if (preg_match($reTag, $fileContent)) {
//过滤图片
$ret = preg_match_all($reTag, $fileContent, $matchResult);
for ($i = 0, $len = count($matchResult[1]); $i < $len; ++$i) {
saveImgURL($matchResult[1][$i], $matchResult[2][$i]);
}
}
}
function saveImgURL($name, $suffix) {
$url = $name . "." . $suffix;
echo "请求的图片地址:" . $url . "
";
$imgSavePath = "E:/123/images/"; //图片保存地址
$imgId = mt_rand(); //产生一个随机的文件名
if ($suffix == "gif") {
//根据图片类型,放入不同的文件夹下面
$imgSavePath.= "emotion";
} else {
$imgSavePath.= "topic";
}
$imgSavePath.= ("/" . $imgId . "." . $suffix); //组装要保存的文件名
if (is_file($imgSavePath)) {
//判断文件名是否存在,存在则删除
unlink($imgSavePath);
echo "<p style='color:#f00;'>文件" . $imgSavePath . "已存在,将被删除";
}
$imgFile = file_get_contents($url); //读取网络文件
$flag = file_put_contents($imgSavePath, $imgFile); //写入到本地
if ($flag) {
echo "
  文件" . $imgSavePath . "保存成功";
}
}
}</p>
  使用
  在WordPress
  中
  在WordPress中,此类已收录此类。 WordPress使用Snoopy下载文件以更新插件,其中Snoopy类使用的代码为:
  function download_url( $url ) {
if( ! $url )
return false;

$tmpfname = tempnam(get_temp_dir(), 'wpupdate'); //获取临时文件名
if( ! $tmpfname )
return false;

$handle = fopen($tmpfname, 'w'); //以写的方式打开临时文件
if( ! $handle )
return false;

require_once( ABSPATH . 'wp-includes/class-snoopy.php' ); //引入 Snoopy 类
$snoopy = new Snoopy();
$snoopy->fetch($url); //抓取指定的网页

fwrite($handle, $snoopy->results); //把抓取得内容写到 临时文件中
fclose($handle);

return $tmpfname;
}

官方客服QQ群

微信人工客服

QQ人工客服


线