其实我自身的不是经常写正则,而且不规则的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爬虫框架相关推荐

  1. 目前网络上开源的网络爬虫以及一些简介和比较

    2019独角兽企业重金招聘Python工程师标准>>> 目前网络上开源的网络爬虫以及一些简介和比较 目前网络上有不少开源的网络爬虫可供我们使用,爬虫里面做的最好的肯定是google ...

  2. 开发网络爬虫应该怎样选择爬虫框架?

    2019独角兽企业重金招聘Python工程师标准>>> 有些人问,开发网络爬虫应该选择Nutch.Crawler4j.WebMagic.scrapy.WebCollector还是其他 ...

  3. Python 网络爬虫笔记9 -- Scrapy爬虫框架

    Python 网络爬虫笔记9 – Scrapy爬虫框架 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...

  4. 爬虫 第六讲 Scrapy框架

    文章目录 爬虫 第六讲 Scrapy框架 一.Scrapy框架 Scrapy简介 工作流程 Scrapy入门 pipline使用 1.scrapy.Request知识点 2.item的介绍和使用 3. ...

  5. python什么时候用框架_python爬虫-什么时候选择selenium框架框架?

    不知不觉已经从事Python编程开发5年了,Python刚开始其实不是很起眼,但是随着大数据越来越活,现在Python也越来越火了,但是目前我主要从事的Python工作还是以数据挖掘.数据爬虫技术深度 ...

  6. 最近发现一个爬虫开源项目weixin_crawler

    最近发现一个爬虫开源项目weixin_crawler weixin_crawler weixin_crawler是一款使用Scrapy.Flask.Echarts.Elasticsearch等实现的微 ...

  7. [python爬虫之路day19:] scrapy框架初入门day1——爬取百思不得姐段子

    好久没学习爬虫了,今天再来记录一篇我的初入门scrapy. 首先scrapy是针对大型数据的爬取,简单便捷,但是需要操作多个文件以下介绍: 写一个爬虫,需要做很多的事情.比如: 发送网络请求, 数据解 ...

  8. 23个Python爬虫开源项目代码:微信、淘宝、豆瓣、知乎、微博...

    文末有干货 "Python高校",马上关注 真爱,请置顶或星标 来源:Python数据科学 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新 ...

  9. Python爬虫开源项目代码(爬取微信、淘宝、豆瓣、知乎、新浪微博、QQ、去哪网 等等)...

    文章目录 1.简介 2.开源项目Github 2.1.WechatSogou [1]– 微信公众号爬虫 2.2.DouBanSpider [2]– 豆瓣读书爬虫 2.3.zhihu_spider [3 ...

  10. python抓取微博数据中心_微博爬虫开源项目汇总大全

    作者:阿橙 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模 ...

最新文章

  1. 微信小程序与H5相互跳转和传递数据
  2. Python学习之For训练
  3. 谷歌量子计算登上Nature封面,首次实现量子优越性,里程碑式突破
  4. 001_Gson概述
  5. Python入门100题 | 第026题
  6. php csv 简单的导入
  7. springboot接口慢_【SpringBoot】 一种解决接口返回慢的方式
  8. 2017.10.6 单词 思考记录
  9. hdu 1423(LCS+LIS)
  10. 计算机模拟题操作题错误,计算机模拟试卷操作题答案.doc
  11. 主机访问虚拟机Web服务器
  12. 2018招商银行笔试题——团建活动
  13. 视频特效如何制作?快把这些方法收好
  14. 安卓搭建虚拟服务器,安卓手机搭建云服务器
  15. 鹏城实验室麒麟V10飞腾2000+体验
  16. Project 2016中如何管理工时?
  17. jieba,为中文分词而生的Python库
  18. linux 安装toolchain工具
  19. 一加7t人脸识别_一加7T深度测评:它体现了最佳的技术价值吗?
  20. WIN7计算机管理里没有便携设备,如何显示及删除Win7设备管理器中隐藏的已用过的硬件设备信息(图)...

热门文章

  1. Mac修改redis密码
  2. 河南省计算机基础考试题库,计算机基础考试题库
  3. Linux下的离线词典,Linux下星际译王离线词库
  4. 【原创】Python 网易易盾滑块验证
  5. 博微三维技术篇【七】——生态数据兼容
  6. 用计算机弹极乐净土谱,极乐净土计算器谱
  7. msm8937 bootloader流程分析
  8. 现在Web前端培训,哪个机构比较好?
  9. 《web课程设计》期末网页制作 基于HTML+CSS+JavaScript制作公司官网页面精美
  10. 自学考c语言计算机二级会,2级c语言(全国c语言二级考试题库)