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 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
php全排列递归算法代码
Oct 09 PHP
解析PHP提交后跳转
Jun 23 PHP
php中数字0和空值的区别分析
Jun 05 PHP
php实现的Cookies操作类实例
Sep 24 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
PHP积分兑换接口实例
Feb 09 PHP
CodeIgniter基于Email类发邮件的方法
Mar 29 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
PHP实现APP微信支付的实例讲解
Feb 10 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
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
Python Paramiko模块的安装与使用详解
2016/11/18 Python
解决uWSGI的编码问题详解
2017/03/24 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
PyQt5组件读取参数的实例
2019/06/25 Python
浅谈python3中input输入的使用
2019/08/02 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
给学校建议书范文
2014/05/13 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
五一劳动节慰问信
2015/02/14 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
Python类方法总结讲解
2021/07/26 Python
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记