PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍
来源:互联网 发布:求抢票软件 编辑:程序博客网 时间:2024/06/13 20:02
第一篇文章介绍了使用原生的PHP和PHP的扩展库实现了爬虫技术。本文尝试使用PHP爬虫框架来写,首先对三种爬虫技术phpQuery,PHPcrawer, snoopy进行对比,然后分析模拟浏览器行为的方式,重点介绍下snoopy
所有代码挂在我的github上
1.几种常用的PHP爬虫框架对比
1.1 phpQuery
优势:类似jquery的强大搜索DOM的能力。
pq()是一个功能强大的搜索DOM的方法,跟jQuery的$()如出一辙,jQuery的选择器基本上都能使用在phpQuery上,只要把“.”变成“->”,Demo如下(对应我的github的Demo5)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
1.2 PHPcrawer
优势:过滤能力比较强。
官方给的Demo如下(我的github中对应demo4):
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
1.3 snoopy
优势:提交表单,设置代理等
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单,
demo如下(对应github中的demo3):
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
1.4 phpspider
优势:安装配置到数据库
提供了安装配置,能够直接连接mysql数据库,使用也是比较广泛,这里我们暂时不单独介绍。
2.模拟用户行为
2.1 file_get_contents
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
2.2 curl
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
2.3 snoopy
- 表单提交
我们的一个例子
form-demo.html
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
form-demo.php
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
问题1:openssl extension required for HTTPS 增加对https的支持
- 1
- 2
- 3
- 4
- 5
- 6
- 7
问题2:405 Not Allowed增加
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
问题3 : snoopy使用代理
- 1
- 2
- 3
- 4
- 5
- 6
问题:
其实尝试了网站进行提交表单是有问题的。这样简单的处理是不能提交表单的,使用代理也是有问题
的。snoopy框架确实会有很多问题,后面有解决思路了再说。
参考阅读:
- cURL、file_get_contents、snoopy.class.php 优缺点
- 开源中国-PHP爬虫框架列表
- phpQuery
- Snoopy下载地址
- Snoopy —— 强大的PHP采集类使用详解及示例:采集、模拟登录及伪装浏览器
- 开源中国-snoopy博客列表
- PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍
- PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍
- PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍
- PHPquery php爬虫
- PHP爬虫最全总结1
- 最全Python爬虫总结
- PHP采集类snoopy详细介绍(snoopy使用教程)
- php 抓图神器 snoopy类介绍
- PHP抓取采集类snoopy介绍
- PHP抓取采集类snoopy介绍
- php snoopy
- Snoopy PHP
- 爬虫技术的门道,这篇文章总结的最全
- 爬虫技术的门道,这篇文章总结的最全
- 爬虫技术的门道,这篇文章总结的最全
- snoopy总结
- phpquery中文手册
- Snoopy中文手册(php采集利器)-001【转】
- C语言模块化编程的例子
- Java基础 bit byte
- OSM编辑器ID安装
- c语言操作符表达式小结
- Android-计时
- PHP爬虫最全总结2-phpQuery,PHPcrawer,snoopy框架中文介绍
- 2017.10.19 LeetCode 二分 -> 69. Sqrt(x) -> 410. Split Array Largest Sum
- SEO顾问的工作是做什么?
- 线程笔记
- NOIP2009-T3 洛谷-1073 最优贸易
- RTAI api ---Semaphore function
- 学习阿里巴巴开发手册-7
- float类型比较大小
- C#读取srt字幕格式文件显示字幕