php 网络爬虫开源,phpspider php爬虫框架
其实我自身的不是经常写正则,而且不规则的html去写正则本身就是件很麻烦的事情,如果页面有些微变动和更新就得再次去维护正则表达式,其实是非常蛋疼的
我第一感觉就是去找一下爬虫的库,但是发现现在php爬虫成熟的开源项目还挺多的
最开始我是准备使用phpquery,因为他实现了类似jQuery的功能,可以减少我花费的时间,但是毕竟是6年前的项目,原项目在http://code.google.com/p/phpquery/上,github虽然已经有人copy过去了,
年久失修,因为不是特别好使用,也别现在啥玩意都需要composer安装,没有提交到https://packagist.org,但是现在新项目好多都是基于php7的,有点过时了,
中了一会发现现在phpspider挺好用,注意不是php-spider,而且有中文文档,但是还没有特别完善,https://doc.phpspider.org/
https://github.com/owner888/phpspider
注意:本框架只能在命令行下运行,命令行、命令行、命令行,重要的事情说三遍 ^_^
但是我需要在web下运行,test_requests.php 发现已经实现了css选择器作为替代手写正则表达式的方法,很好,强不强大等用户自己使用过后再自己评价
可以直接在web上运行
use phpspider\core\requests;
use phpspider\core\selector;
引入
$html = requests::get(‘http://www.ccmn.cn/‘);$data = selector::select($html, "#40288092327140f601327141c0560001", "css");$data1 = selector::select($data, "tr", "css");array_shift($data1);$array = array();if (!empty($data1) && is_array($data1)) {foreach ($data1 as $k => &$v) {$data2 = selector::select($v, "td", "css");foreach ($data2 as $kk => &$vv) {$vv = str_replace(‘ ‘, ‘‘, $vv);$vv = str_replace(array("\r\n", "\r", "\n"), "", $vv);$vv = trim($vv);
}$data2[‘3‘] = selector::select($data2[‘3‘], "font", "css");unset($data2[‘6‘]);$array[] = $data2;
}
就完成了一个还算有一点点复杂的网页固定位置的抓取
很简单对吧
https://doc.phpspider.org/selector.html
官方支持更强大的css选择器,基本常用的足够了
和写jquery的感觉差不多
还有这个是cli运行,
注意不要删了
#/\* Do NOT delete this comment \*/#
#/\* 不要删除这段注释 \*/#
会报错,因为蛋疼去匹配了这些
if (!preg_match("#/\* Do NOT delete this comment \*/#", $content) || !preg_match("#/\* 不要删除这段注释 \*/#", $content))
{$msg = "Unknown error...";log::error($msg);exit;
}
有点强迫症的感觉
源码还没时间读,确实值得一读
目前其他功能测试过在写入博客
php 网络爬虫开源,phpspider php爬虫框架相关推荐
- 目前网络上开源的网络爬虫以及一些简介和比较
2019独角兽企业重金招聘Python工程师标准>>> 目前网络上开源的网络爬虫以及一些简介和比较 目前网络上有不少开源的网络爬虫可供我们使用,爬虫里面做的最好的肯定是google ...
- 开发网络爬虫应该怎样选择爬虫框架?
2019独角兽企业重金招聘Python工程师标准>>> 有些人问,开发网络爬虫应该选择Nutch.Crawler4j.WebMagic.scrapy.WebCollector还是其他 ...
- Python 网络爬虫笔记9 -- Scrapy爬虫框架
Python 网络爬虫笔记9 – Scrapy爬虫框架 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...
- 爬虫 第六讲 Scrapy框架
文章目录 爬虫 第六讲 Scrapy框架 一.Scrapy框架 Scrapy简介 工作流程 Scrapy入门 pipline使用 1.scrapy.Request知识点 2.item的介绍和使用 3. ...
- python什么时候用框架_python爬虫-什么时候选择selenium框架框架?
不知不觉已经从事Python编程开发5年了,Python刚开始其实不是很起眼,但是随着大数据越来越活,现在Python也越来越火了,但是目前我主要从事的Python工作还是以数据挖掘.数据爬虫技术深度 ...
- 最近发现一个爬虫开源项目weixin_crawler
最近发现一个爬虫开源项目weixin_crawler weixin_crawler weixin_crawler是一款使用Scrapy.Flask.Echarts.Elasticsearch等实现的微 ...
- [python爬虫之路day19:] scrapy框架初入门day1——爬取百思不得姐段子
好久没学习爬虫了,今天再来记录一篇我的初入门scrapy. 首先scrapy是针对大型数据的爬取,简单便捷,但是需要操作多个文件以下介绍: 写一个爬虫,需要做很多的事情.比如: 发送网络请求, 数据解 ...
- 23个Python爬虫开源项目代码:微信、淘宝、豆瓣、知乎、微博...
文末有干货 "Python高校",马上关注 真爱,请置顶或星标 来源:Python数据科学 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新 ...
- Python爬虫开源项目代码(爬取微信、淘宝、豆瓣、知乎、新浪微博、QQ、去哪网 等等)...
文章目录 1.简介 2.开源项目Github 2.1.WechatSogou [1]– 微信公众号爬虫 2.2.DouBanSpider [2]– 豆瓣读书爬虫 2.3.zhihu_spider [3 ...
- python抓取微博数据中心_微博爬虫开源项目汇总大全
作者:阿橙 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模 ...
最新文章
- 微信小程序与H5相互跳转和传递数据
- Python学习之For训练
- 谷歌量子计算登上Nature封面,首次实现量子优越性,里程碑式突破
- 001_Gson概述
- Python入门100题 | 第026题
- php csv 简单的导入
- springboot接口慢_【SpringBoot】 一种解决接口返回慢的方式
- 2017.10.6 单词 思考记录
- hdu 1423(LCS+LIS)
- 计算机模拟题操作题错误,计算机模拟试卷操作题答案.doc
- 主机访问虚拟机Web服务器
- 2018招商银行笔试题——团建活动
- 视频特效如何制作?快把这些方法收好
- 安卓搭建虚拟服务器,安卓手机搭建云服务器
- 鹏城实验室麒麟V10飞腾2000+体验
- Project 2016中如何管理工时?
- jieba,为中文分词而生的Python库
- linux 安装toolchain工具
- 一加7t人脸识别_一加7T深度测评:它体现了最佳的技术价值吗?
- WIN7计算机管理里没有便携设备,如何显示及删除Win7设备管理器中隐藏的已用过的硬件设备信息(图)...