内容简介:爬虫基本知识
一、爬虫简介
根据百度百科定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 随着大数据的不断发展,爬虫这个技术慢慢走入人们的视野,可以说爬虫是大数据应运而生的产物,至少我解除了大数据才了解到爬虫这一技术
二、几种适合爬虫的语言
1.phantomjs
这个语言在17年4月其开核心发者之一Vitaly辞退维护工作,表示不再维护。其原话内容如下:
我看不到 PhantomJS 的未来,作为一个单独的开发者去开发 PhantomJS 2 和 2.5 ,简直就像是一个血腥的地狱。即便是最近发布的 2.5 Beta 版本拥有全新、亮眼的 QtWebKit ,但我依然无法做到真正的支持 3 个平台。我们没有得到其他力量的支持!
并且Vitaly 发文表示,Chrome 59 将支持 headless 模式,用户最终会转向去使用它。Chrome 比 PhantomJS 更快,更稳定,也不会像 PhantomJS 这种疯狂吃内存 但并不是意味着这个语言的终结,这个语言还是可以用的
2.casperJS
CasperJs 是一个基于 PhantomJs 的工具,其比起 PhantomJs 可以更加方便的进行 navigation,个人对此种语言不太了解不做过多阐述
3.nodejs
nodejs适合垂直爬取,分布式的爬取较为困难,对某些功能的支持较弱,所以不建议用
4.Python
本人喜欢 python 这种语言,也是强烈推荐使用python,尤其是其语言的爬虫框架scrapy特别值得大家学习,支持xpath 可以定义多个spider,支持多线程爬取等等,后续我会一步一步把我入门的过程发给大家并且附带源码
ps:此外还有c++,PHP,java等语言都可以用来爬取网页,爬虫因人而异,我推荐的不一定是最好的
三、python爬虫的优点
代码简单明了,适合根据实际情况快速修改代码,网络上的内容,布局随时都会变,python的快速开发比较有优势。如果是写好不再修改或修改少,其他性能高的语言更有优势。(摘自知乎 https://www.zhihu.com/question/52081407)
1)抓取网页本身的接口相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整的访问网页文档的API。(当然 ruby 也是很好的选择)此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆、模拟session/cookie的存储和设置。在python里都有非常优秀的第三方包帮你搞定,如Requests,mechanize
2)网页抓取后的处理抓取的网页通常需要处理,比如过滤html标签,提取文本等。python的beautifulsoap提供了简洁的文档处理功能,能用极短的代码完成大部分文档的处理。(摘自博客园 https://www.cnblogs.com/benzone/p/5854084.html)
以上是前辈们为我们归纳好的诸多优点,本人整理其中两篇供大家参考
四、后续的安排
后续我会给大家分享以下内容
- BeautifulSoup的安装及使用
- 利用BS抓取网站实例
- Scrapy的安装及创建项目
- Scrapy的常见问题汇总
-
Scrapy爬取网页实例
五、结语
创建专栏已有半年多了,一直没怎么打理实在抱歉,不过我会在以后的时间里尽量给大家呈现我所能给大家的一些只是,并附带完全源码,也希望各位能多多投稿,壮大本专栏ps:给大家介绍几个课程与书籍,价格我觉得都是合适的,大家可以视情况学习:课程:
- python爬虫实战简明教程 38¥
- https://ke.qq.com/course/232976?saleToken=36294
- 爬虫神功第一重英文版-2-网络协议和网页文本解析 工具 1.5¥
- https://ke.qq.com/course/242683?saleToken=36296
- 爬虫神功第一重英文版-3-新浪微博和Twitter数据获取 1.5¥
- https://ke.qq.com/course/245296?saleToken=36297
- 爬虫2天实战–爬取腾讯应用宝 5.2¥
- https://ke.qq.com/course/245152?saleToken=36298
- 正版python基础教程(第2版·修订版) python基础学习手册 python编程入门经典书籍 python从入门到实践精通 新华书店正版图书 55¥
- https://s.click.taobao.com/AOEd6Vw
以上所述就是小编给大家介绍的《爬虫基本知识》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- gradle基本知识
- 一篇文章4条总结,快速了解持续集成测试的基本知识!
- MySQL基本知识点梳理和查询优化
- Git基础知识教程整理(Git基本操作)
- TypeScript基本知识点整理(看完绝对入门---真的!!)
- Tomcat的基本使用及相关知识的概述(超详细版)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。