snoopy php网页抓取工具(requiresPHP4Beta4+)$maxframes允许追踪的框架最大)

优采云 发布时间: 2022-01-29 16:00

  snoopy php网页抓取工具(requiresPHP4Beta4+)$maxframes允许追踪的框架最大)

  $error 报告在哪里,如果有的话

  $response_code 服务器返回的响应码

  从服务器返回的 $headers 标头

  $maxlength 最长返回数据长度

  $read_timeout 读取超时(需要 PHP 4 Beta 4+)

  设置为 0 表示没有超时

  $timed_out 如果读取操作超时,此属性返回 true(需要 PHP 4 Beta 4+)

  $maxframes 允许跟踪的最大帧数

  $status 获取 http 状态

  Web 服务器可以写入的临时文件的 $temp_dir 目录 (/tmp)

  cURL二进制的$curl_path目录,如果没有cURL二进制则设置为false

  以下是demojNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔法

  复制代码代码如下:

  包括“Snoopy.class.php”;

  $snoopy = 新史努比;

  $snoopy->proxy_host = "";

  $snoopy->proxy_port = "8080";

  $snoopy->agent = "(兼容;MSIE 4.01;MSN 2.5;AOL 4.0;Windows 98)";

  $snoopy->referer = "";

  $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(""))

  {

  回声“

  ".htmlspecialchars($snoopy->results)."

  \n";

  }

  其他

  echo "获取文档时出错:".$snoopy->error."\n";

  ////////////////////////////////////// //////////

  Snoopy 的特点是“大”和“满”,一次 fetch 可以拾取一切,可以作为 采集 的第一步。接下来,您需要使用 simple_html_dom 扣除所需的部分。当然,如果你特别擅长规律,喜欢规律,也可以用规律来搭配抢。

  simple_html_dom 实际上是一个 dom 解析过程。 PHP也提供了一些解析方法,不过这个simple_html_dom可以说是比较专业的一个类,满足了很多你想要的功能。

  ////////////////////////////////////// ///////////

  // 使用URL或文件名创建目标文档对象,即目标网页

  $html = file_get_html ('' );

  //$html = file_get_html('test.htm');

  //使用字符串作为登陆页面。可以通过Snoopy获取页面,然后在这里获取处理

  $myhtml = str_get_html('jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒

  你好! );

  // 查找所有图片并返回一个数组

  foreach($html->find ('img' ) as $element)

  echo $element->src 。 '

  ' ;

  // 查找所有链接

  foreach($html->find ('a') as $element)

  echo $element->href 。 '

  ' ;

  find 方法效果很好,通常它返回一个对象数组。在查找目标元素时,可以通过class或者id,或者其他属性来获取目标字符串。

  //通过目标p的class属性搜索p。 find 方法中的第二个参数是返回数组中的数字。从0开始是第一个

  $target_p = $html->find('p.targetclass',0 );

  //检查结果是不是你想要的,直接echo就行了

  回声 $target_p;

  //关键是采集对象创建后一定要销毁,否则php页面可能会“卡”30秒左右,这取决于你服务器的时间限制。销毁的方法是:

  $html->clear();

  未设置($html);

  我觉得simple_html_dom的优势在于采集和JS一样容易控制。下面提供的下载包中有英文说明书

  simplehtmldom_1_11/simplehtmldom/manual/manual.htm

  jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒

  array$e->getAllAttributes()

  array$e->attr

  string$e->getAttribute($name)

  string$e->属性

  void$e->setAttribute($name, $value)

  void$value = $e->属性

  bool$e->hasAttribute($name)

  boolisset($e->属性)

  void$e->removeAttribute ($name)

  void$e->attribute=null

  element$e->getElementById ($id)

  mixed$e->find ("#$id", 0)

  混合$e->getElementsById($id [,$index])

  mixed$e->find ("#$id" [, int $index])

  element$e->getElementByTagName ($name)

  混合$e->查找 ($name, 0)

  混合$e->getElementsByTagName ($name [, $index])

  混合$e->find ($name [, int $index])

  element$e->parentNode()

  element$e->parent()

  混合$e->childNodes ([$index])

  mixed$e->children ([int $index])

  element$e->firstChild()

  element$e->first_child()

  element$e->lastChild()

  element$e->last_child ()

  element$e->nextSibling()

  element$e->next_sibling()

  element$e->previousSibling()

  element$e->prev_sibling()

  jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒

  以上是爱站技术频道分享的PHP开发资料采集的深度解析。希望能给大家提供帮助和参考,让大家可以更从容的选择。 jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒

  jNU网页模板,帝国cms模板,网站模板免费下载,做网站首选站长魔棒

  相关资料:PHP开发中的数据深度分析采集

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线