php爬虫框架选用什么
php爬虫框架选用什么
一、总结
一句话总结:phpspider:官方下载地址:https://github.com/owner888/phpspider
1、phpspider能够帮我们解决哪些问题?
- 如何进行运行前测试?
- 如何实现模拟登录?
- 如何实现增量采集?
- 如果内容页有分页,该如何爬取到完整数据?
- 如何实现多任务爬虫?
- 如何实现多服务器集群爬虫?
- file_get_contents 设置代理抓取页面
- 如何提前生成列表页URL再提取内容?
- 如何去掉网页中的广告?
- 如何爬取列表页中的数据?
- 开发PHPSpider爬虫的常用工具
二、phpspider 简单使用
phpspider一款优秀的PHP开发蜘蛛爬虫
官方下载地址:https://github.com/owner888/phpspider
官方开发手册:https://doc.phpspider.org/
关于这个爬虫的使用 下载下来之后有写好的实例 我在这里只是说一下我遇到的一个坑
// GitHub下载方式
require_once __DIR__ . '/../autoloader.php';
use phpspider\core\phpspider;
/* Do NOT delete this comment */
/* 不要删除这段注释 */
$configs = array(
'name' => '糗事百科',
'log_show' => true,
'tasknum' => 1,
//'save_running_state' => true,
'domains' => array(
'qiushibaike.com',
'www.qiushibaike.com'
),
'scan_urls' => array(
'http://www.qiushibaike.com/'
),
'list_url_regexes' => array(
"http://www.qiushibaike.com/8hr/page/\d+\?s=\d+"
),
'content_url_regexes' => array(
"http://www.qiushibaike.com/article/\d+",
),
'max_try' => 5,
//'proxies' => array(
//'http://H784U84R444YABQD:57A8B0B743F9B4D2@proxy.abuyun.com:9010'
//),
'export' => array(
'type' => 'csv',
'file' => '../data/qiushibaike.csv',
),
//'export' => array(
//'type' => 'sql',
//'file' => '../data/qiushibaike.sql',
//'table' => 'content',
//),
// 'export' => array(
// 'type' => 'db',
// 'table' => 'content',
// ),
'db_config' => array(
'host' => '127.0.0.1',
'port' => 3306,
'user' => 'root',
'pass' => '123456',
'name' => 'spider',
),
//'queue_config' => array(
//'host' => '127.0.0.1',
//'port' => 6379,
//'pass' => '',
//'db' => 5,
//'prefix' => 'phpspider',
//'timeout' => 30,
//),
'fields' => array(
array(
'name' => "article_title",
'selector' => "//*[@id='single-next-link']//div[contains(@class,'content')]/text()[1]",
'required' => true,
),
array(
'name' => "article_author",
'selector' => "//div[contains(@class,'author')]//h2",
'required' => true,
),
array(
'name' => "article_headimg",
'selector' => "//div[contains(@class,'author')]//a[1]",
'required' => true,
),
array(
'name' => "article_content",
'selector' => "//*[@id='single-next-link']//div[contains(@class,'content')]",
'required' => true,
),
array(
'name' => "article_publish_time",
'selector' => "//div[contains(@class,'author')]//h2",
'required' => true,
),
array(
'name' => "url",
'selector' => "//div[contains(@class,'author')]//h2", // 这里随便设置,on_extract_field回调里面会替换
'required' => true,
),
),
);
$spider = new phpspider($configs);
$spider->start();
这是官网文档其中的一个实例 使用说明中描述只能通过命令行的模式运行爬虫文件
结果我运行了一下demo并没有成功
之后发现糗事百科已经换成https协议 但是代码中的路由还是http的
我抱着试试的想法改成 https
果然成功了 爬虫已经可以正常运行了
具体的一下参数详情还是得看官网的文档
参考:phpspider 简单使用 - CSDN博客
https://blog.csdn.net/qq_33278933/article/details/79153640
三、phpspider的github情况

php爬虫框架选用什么的更多相关文章
- 爬虫框架Scrapy初步使用
本文转载自: Scrapy 爬取并分析酷安 6000 款 App,找到良心佳软(抓取篇) https://www.makcyun.top/web_scraping_withpython10.html ...
- 爬虫框架--webmagic
官方有详细的使用文档:http://webmagic.io/docs/zh/ 简介:这只是个java爬虫框架,具体使用需要个人去定制,没有图片验证,不能获取js渲染的网页,但简单易用,可以通过xpat ...
- 教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scr ...
- Python之Scrapy爬虫框架安装及简单使用
题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...
- [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 为什么要造轮子 同学们可以去各大招聘网站查看一下爬虫工程师的要求,大多是招JA ...
- 使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)
初学Scrapy,实现爬取网络图片并保存本地功能 一.先看最终效果 保存在F:\pics文件夹下 二.安装scrapy 1.python的安装就不说了,我用的python2.7,执行命令pip ins ...
- 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神
原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...
- 再次分享 pyspider 爬虫框架 - V2EX
再次分享 pyspider 爬虫框架 - V2EX block
- 爬虫框架YayCrawler
爬虫框架YayCrawler 各位好!从今天起,我将用几个篇幅的文字向大家介绍一下我的一个开源作品——YayCrawler,其在GitHub上的网址是:https://github.com/liush ...
随机推荐
- java File delete() 失败,又没有报错。
因为该文件流还没关闭,就执行了delete(),所以删除失败. 先举几个可以删除掉文件和删除不掉文件的例子(先在F盘创建test1.txt文件,然后可以直接拷贝代码到IDE执行),最后总结下原因: 例 ...
- IIS设置文件 App_Offline.htm 网站维护
在ASP.NET 2.0 站点根目录下,只要存在 App_Offline.htm 文件,那么所有对.aspx的请求都将转向App_Offline.htm .而且浏览器的地址栏显示的是所请求的.aspx ...
- PyQuery的基本使用详解
0.安装:pip3 install pyquery 1.初始化 1.字符串初始化 # 字符串初始化 html = """ <div> <ul> & ...
- 利用EasySQLMAIL实现自动填写Excel表格并发送邮件(2)
利用EasySQLMAIL实现自动填写Excel表格并发送邮件 转自:http://blog.sina.com.cn/s/blog_1549483b70102witg.html 前一篇博文中记录了“利 ...
- redis的数据类型与应用场景(二)
1. 如何学习 redis有好多数据类型,有这么多数据类型,我们不可能每个都记得完完全全.但是我们必须知道它有哪些数据类型,每个数据类型是怎样的,有什么作用.redis的每一个数据类型都有一大堆命令, ...
- Hadoop的IO操作
Hadoop的API官网:http://hadoop.apache.org/common/docs/current/api/index.html 相关的包 org.apache.hadoop.io ...
- C#字段属性设置
键?指的是主键吗?,默认会有主键吗? 因为实体框架要求必须要有一个键属性.您可以使用键注释来指定要将哪一个属性用作 EntityKey. publicclass Blog { [Key] public ...
- Python:笔记(4)——高级特性
Python:笔记(4)——高级特性 切片 取一个list或tuple的部分元素是非常常见的操作.Python提供了切片操作符,来完成部分元素的选取 除了上例简单的下标范围取元素外,Python还支持 ...
- dobbo 简单框架
- js 三元表达式 复杂写法
a = 0 b = 0 a === 0 && (a = 1,b = 2) a === 1 ? (a = 3,alert(b)) : (b = 4) a === 1 || alert(a ...