如果你正在学习编程,那么“爬虫”绝对是你不可忽视的爬虫工具有哪些。那么,学习python爬虫之前需要哪些准备?
一颗热爱学习,不屈不挠的心
一台有键盘的电脑(什么系统都行。我用的os x,所以例子会以这个为准)
html相关的一些知识。不需要精通,能懂一点就行
Python的基础语法知识 。
当这些你都具备了,这个时候你需要学习:
0.基本的爬虫工作原理
1.基本的
2.Bloom Filter: Bloom Filters by Example
3.如果需要大规模网页抓取,你需要学习分布式爬虫的概念。简单来说,你只要学会怎样维护一个所有集群机器能够有效分享的分布式队列就好。最简单的实现是python-rq: ://github.com/nvie/rq
4.rq和Scrapy的结合:darkrho/scrapy-redis · GitHub
5.后续处理:网页析取(grangier/python-goose · GitHub),存储(Mongodb)
python的火,很大原因就是各种好用的模块,这些模块是居家旅行爬网站常备的——
NO.1 F12 开发者工具
看源代码:快速定位元素
分析xpath:1、此处建议谷歌系浏览器,可以在源码界面直接右键看
NO.2 抓包工具
推荐,火狐浏览器下的插件,比谷歌火狐系自带的F12工具都要好,可以方便查看网站收包发包的信息
NO.3 XPATH CHECKER (火狐插件)
非常不错的xpath测试工具,不过也有几个小缺点,:
xpath checker生成的是绝对路径,遇到一些动态生成的图标(常见的有列表翻页按钮等),飘忽不定的绝对路径很有可能造成错误,所以这里建议在真正分析的时候,只是作为参考
记得把如下图xpath框里的“x:”去掉,貌似这个是早期版本xpath的语法,目前已经和一些模块不兼容(比如scrapy),还是删去避免报错。
NO.4 正则表达测试工具
在线正则表达式测试 ,拿来多练练手,也辅助分析!里面有很多现成的正则表达式可以用,也可以进行参考!
这些不用编程的爬虫工具,你一定要知道
随着Scrapy等框架的流行,利用编程语言写爬虫已经成为一种时尚,好像每个互联网人都会一点爬虫。
大神利用爬虫将学校所有重要的在线服务集合成了一套JSON API ,然后开发成了App;
爬了知乎12万用户的头像,把长得像的头像放在一起,方便浏览:然后搜集了知友们的点击,预测出来这是你们(平均)最喜欢的人长的样子;
网友写了个爬虫按标签爬下来豆瓣所有的书,按现有标签来分类检索豆瓣图书,并按分数从高到低排序。
……
这些有趣的故事均来自知乎上的一个热门话题:利用爬虫技术能做到哪些很酷很有趣很有用的事情?
人人都会爬虫
初期的互联网,写爬虫是门技术活,往大的方向说,爬虫技术是搜索引擎的组成部分。
随着互联网技术的发展,写爬虫的门槛一降再降,一些编程语言甚至直接提供爬虫框架,例如python的Scrapy框架,它们让写爬虫走入“寻常百姓家”。
我们已经发现,写爬虫是一件炫酷的事情,但即使是这样,学习爬虫仍然有一定的技术门槛。
当前的主流爬虫手段是用Python编程,Python的强大毋庸置疑,但初学者学习Python还是需要一两个月时间的。
有没有一些更简单的爬取数据方法呢?答案是有的。
一些可视化的爬虫工具通过策略来爬取特定的数据, 虽然没有自己写爬虫操作精准,但是学习成本低很多,下面就来介绍几款可视化的爬虫工具。
国内工具
01 Microsoft Excel
首先教大家一个用Excel爬取数据的方法,这里用的Microsoft Excel 2013版本,下面手把手开始教学~
(1)新建Excel,打开它,如下图所示
(2)点击“数据”——“自网站”
(3)在弹出的对话框中输入目标网址,这里以全国实时空气质量网站为例,点击转到,再导入
选择导入位置,确定
(4)结果如下图所示,怎么样,是不是很赞?
(5)如果要实时更新数据,可以在“数据”——“全部更新”——“连接属性”中进行设置,输入更新频率即可
02 八爪鱼
一款可视化免编程的网页采集软件,可以从不同网站中快速提取规范化数据,帮助用户实现数据的自动化采集、编辑以及规范化,降低工作成本。
简易模式采集步骤
是一款适合小白用户尝试的采集软件,云功能强大,当然爬虫老手也能开拓它的高级功能。
网址::///
03 火车头
火车头是一款互联网数据抓取、处理、分析,挖掘软件,采集功能完善,不限网页与内容,任意文件格式都可下载,号称能采集99%的网页。
软件定位比较专业而且精准化,使用者需要有基本的HTML基础,能看得懂网页源码,网页结构,但软件提供相应教程,新手也能够学习上手。
网址:/
04 集搜客
一款简单易用的网页信息抓取软件,能够抓取网页文字、图表、超链接等多种网页元素。
操作较简单,适用于初级用户,功能方面没有太大的特色,后续付费要求比较多。
网址:/index.html
05 神箭手云爬虫
一款新颖的云端在线智能爬虫/采集器,基于神箭手分布式云爬虫框架,帮助用户快速获取大量规范化的网页数据。
类似一个爬虫系统框架,具体采集还需用户自写爬虫,需要代码基础。
网址:://
06 狂人采集器
一套专业的网站内容采集软件,支持各类论坛的帖子和回复采集,网站和博客文章内容抓取,分论坛采集器、CMS采集器和博客采集器三类。
专注论坛、博客文本内容的抓取,对于全网数据的采集通用性不高。
网址:/
国外工具
01 Google Sheet
使用Google Sheet爬取数据前,要保证三点:使用Chrome浏览器、拥有Google账号、电脑已翻墙。如果这三个条件具备了的话,下面我们就开始吧~
(1)打开Google Sheet网站:google.cn/sheets/about/
(2)在首页上点击“转到Google表格”,然后登录自己的账号,可以看到如下界面,再点击“+”创建新的表格
新建的表格如下:
(3)打开要爬取的目标网站,一个全国实时空气质量网站pm25.in/rank,目标网站上的表格结构如下图所示
(4)回到Google sheet页面,使用函数=IMPORTHTML(网址, 查询, 索引),“网址”就是要爬取数据的目标网站,“查询”中输入“list”或“table”,这个取决于数据的具体结构类型,“索引”填阿拉伯数字,从1开始,对应着网站中定义的哪一份表格或列表
对于我们要爬取的网站,我们在Google sheet的A1单元格中输入函数=IMPORTHTML(\”pm25.in/rank\”,\”table\”,1),回车后就爬得数据啦
(5)将爬取好的表格存到本地
是不是感觉超级简单?
02 you-get
这是一个程序员基于python 3开发的项目,已经在github上面开源,支持64个网站,包括优酷、土豆、爱奇艺、b站、酷狗音乐、虾米……总之你能想到的网站都有!
还有一个黑科技的地方,即使是名单上没有的网站,当你输入链接,程序也会猜测你想要下载什么,然后帮你下载。
当然you-get要在python3环境下进行安装,用pip安装好后,在终端输入“you get+你想下载资源的链接”就可以等着收藏资源了。
这里给一个you-get的中文使用说明,按照说明上写的按步骤操作就可以啦。
03 import.io
Import.io是一个基于Web的网页数据采集平台,用户无需编写代码点选即可生成一个提取器。相比国内大多采集软件,Import.io较为智能,能够匹配并生成同类元素列表,用户输入网址也可一键采集数据。
Import.io智能发展,采集简便,但对于一些复杂的网页结构处理能力较为薄弱。
网址:://
04 Octoparse
Octoparse是八爪鱼的海外版,采集页面设计简单友好,完全可视化操作,适用于新手用户。
运行并获取数据
Octoparse功能完善,价格合理,能够应用于复杂网页结构,如果你想无需翻墙直采亚马逊、Facebook、Twitter等平台,Octoparse是一种选择。
网址::///
05 visual web ripper
Visual Web Ripper是一个自动化的Web抓取工具,支持各种功能。
它适用于某些高级且采集难度较大的网页结构,用户需具备较强的编程技能。
网址:/
06 content Grabber
Content Grabber是功能最强大的Web抓取工具之一。它更适合具有高级编程技能的人群,提供了许多强大的脚本编辑,调试界面。允许用户编写正则表达式,而不是使用内置的工具。
Content Grabber网页适用性强,功能强大,不完全为用户提供基础功能,适合具有高级编程技能的人群。
网址:/
07 Mozenda
Mozenda是一个基于云服务的数据采集软件,为用户提供许多实用性功能包括数据云端储备功能。
适合拥有基础爬虫经验的人群。
网址:://mozenda.updatestar.com/
想了解更多数据科学干货知识,欢迎关注我们的公众号“DC黑板报”