资讯专栏INFORMATION COLUMN

[后端Jquery] - 轻量级无依赖 composer 超小巧的页面抓取分析类

junnplus / 2456人阅读

摘要:有时候我们需要抓取一个页面的一些信息来完成接口,用完得到后想获取某个标签的时候。

有时候我们需要抓取一个页面的一些信息来完成接口,用完curl得到body后想获取某个标签的时候。 一看到正则委屈么,委屈么


php 的 DOM 模块

PHP自带扩展 http://php.net/dom


 * @CreateTime    2017-04-17T19:25:59+0800
 */

$doc = new DOMDocument();

$html = <<Sunyanzi"s Test

  

Hello World

Hey Welcome HTML_SECTION; $doc->loadHTML( $html ); $h1Elements = $doc->getElementsByTagName( "h1" ); foreach( $h1Elements as $h1Node ){ echo $h1Node->nodeValue; } echo $doc->getElementById( "onlylink" )->getAttribute( "href" ); $xpath = new DOMXPath( $doc ); // also prints "http://segmentfault.com/" ... locate via h1 ... echo $xpath->evaluate("string(//h1[text()="Hello World"]/following-sibling::a/@href)");

基本上, 等到你熟练掌握 XPath 之后 , 你会发现 DOM 比正则要灵活得多 ...


PhpQuery

使用PhpQuery 完全可以省略curl抓取页面的那一步,写法完全参照Jquery

https://github.com/TobiaszCud...

/**
 * @author         Shaowei Pu <542684913@qq.cn>
 * @CreateTime    2017-04-17T19:25:59+0800
 */
      phpQuery::newDocumentFile("https://v.qq.com/x/cover/o5neekjf0pl6e0r.html");  
         libxml_use_internal_errors(true);
        // 腾讯视频的真实URL 
        $url = pq("link[rel="canonical"]")[0]->attr("href");


总结

web 采集多样性,如果不是抱着学习正则表达式的态度,应当灵活使用类库

偷懒万岁!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39512.html

相关文章

  • [后端Jquery] - 量级依赖 composer 小巧页面抓取分析

    摘要:有时候我们需要抓取一个页面的一些信息来完成接口,用完得到后想获取某个标签的时候。 有时候我们需要抓取一个页面的一些信息来完成接口,用完curl得到body后想获取某个标签的时候。 一看到正则委屈么,委屈么 php 的 DOM 模块 PHP自带扩展 http://php.net/dom

    andong777 评论0 收藏0
  • [后端Jquery] - 量级依赖 composer 小巧页面抓取分析

    摘要:有时候我们需要抓取一个页面的一些信息来完成接口,用完得到后想获取某个标签的时候。 有时候我们需要抓取一个页面的一些信息来完成接口,用完curl得到body后想获取某个标签的时候。 一看到正则委屈么,委屈么 php 的 DOM 模块 PHP自带扩展 http://php.net/dom

    freecode 评论0 收藏0
  • [后端Jquery] - 量级依赖 composer 小巧页面抓取分析

    摘要:有时候我们需要抓取一个页面的一些信息来完成接口,用完得到后想获取某个标签的时候。 有时候我们需要抓取一个页面的一些信息来完成接口,用完curl得到body后想获取某个标签的时候。 一看到正则委屈么,委屈么 php 的 DOM 模块 PHP自带扩展 http://php.net/dom

    amuqiao 评论0 收藏0
  • [后端Jquery] - 量级依赖 composer 小巧页面抓取分析

    摘要:有时候我们需要抓取一个页面的一些信息来完成接口,用完得到后想获取某个标签的时候。 有时候我们需要抓取一个页面的一些信息来完成接口,用完curl得到body后想获取某个标签的时候。 一看到正则委屈么,委屈么 php 的 DOM 模块 PHP自带扩展 http://php.net/dom

    mikyou 评论0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:转载来源包管理器管理着库,并提供读取和打包它们的工具。能构建更好应用的客户端包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。很棒的组件集合。隐秘地使用和用户数据。 转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具。•npm – npm 是 javasc...

    netmou 评论0 收藏0

发表评论

0条评论

junnplus

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<