phpQuery采集网页实现代码实例


Posted in PHP onApril 02, 2020

前言

  平时开发中可能遇到一个问题。采集网页,小偷程序等等。各种花式秀正则的话,虽然能体现出geek,但是我觉得做事却不够优雅。采集到的网页说白了也是DOM,jQuery各种优雅地获取节点。幸好,有这个类库,帮我们解决了这个,那就是phpQuery.

为什么使用phpQuery

phpQuery是基于php5新添加的DOMDocument。而DOMDocument则是专门用来处理html/xml。它提供了强大的xpath选择器及其他很多html/xml操作函数,使得处理html/xml起来非常方便。

尤其对于新手,看到一堆”不知所云”的字符评凑在一起,有种脑袋都要炸了的感觉。如果要分离的对象没有太明显的特征,正则写起来更是麻烦。

学习成本低,jQuery是PHP程序员的标配,那么懂jQuery的话,是可以无缝衔接的,学习成本几乎为0。选择器,节点,节点信息,over

下载地址

https://code.google.com/archive/p/phpquery/downloads(需要翻墙,或者自行百度phpQuery)

实验

  既然开始了,那么就做个实验,比如我们要获取SF的所有标签名称https://segmentfault.com/tags,审查元素,得到部分标签属性。<a class="tag" data-original-title="负载均衡">负载均衡</a>

Demo

<?php
  
  require("phpQuery.php");//导入phpQuery库
  $html   = phpQuery::newDocumentFile("https://segmentfault.com/tags");
  $hrefList = pq(".tag"); //获取标签为a的所有对象$(".tag")

  foreach ($hrefList as $href) {
    echo $href->getAttribute("data-original-title"),"<br>";
  }

结果

phpQuery采集网页实现代码实例

总结

0.网页采集真特么无脑暴力,成功绕过恶心的正则

1.写法参照jQuery

2.体会Dom的思想

3.此类库并非万金油,更适合网页采集

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP脚本数据库功能详解(上)
Oct 09 PHP
Adodb的十个实例(清晰版)
Dec 31 PHP
php实现mysql数据库备份类
Mar 20 PHP
7个超级实用的PHP代码片段
Jul 11 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
laravel7学习之无限级分类的最新实现方法
Sep 30 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 #PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 #PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 #PHP
TP5框架实现上传多张图片的方法分析
Mar 29 #PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 #PHP
php查看一个变量的占用内存的实例代码
Mar 29 #PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 #PHP
You might like
使用php4加速网络传输
2006/10/09 PHP
PHP中cookies使用指南
2007/03/16 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
django框架使用方法详解
2019/07/18 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
总经理助理工作职责
2014/02/06 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
个人委托函范文
2015/01/29 职场文书
医德医风自我评价2015
2015/03/03 职场文书
搬迁通知
2015/04/20 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
早恋主题班会
2015/08/14 职场文书
七年级生物教学反思
2016/02/20 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript