美文网首页Python爬虫
如何一步步学好爬虫

如何一步步学好爬虫

作者: 爬虫小哥 | 来源:发表于2017-03-25 00:25 被阅读38次

在学习完基本的Python基础以后就可以开始学习如何爬取网络数据了。首先应该知道简单的浏览器http请求机制和网页源代码。


在接触了基本的urllib请求以后基本掌握如何用cookies、proxy、正则表达式;我们利用这些标准库发现比较麻烦和构造复杂,逐想到第三方库,如requests(请求库)beautifulsoup(选择器库)这样我们可以减少很多像标准库那样繁琐的构造,而且代理直接可以加入,headers、cookies也一样可以,非常方便。(headers要随机更换)


那么在爬取的时候发现选择网页标签的时候bs4太慢了而且很不好控制tag,会发现大家都是用lxml比较多,因为其速度很快,lxml是直接调用c的函数;scrapy的选择器也是优先使用lxml,当然也有css选择器。本人习惯了lxml,而且自由度很高。在爬取一般的网页到达这里基本上够用,那么碰到一些js渲染的网页上述方法行不通,那么我们会另辟蹊径去寻找selenuim、phantomjs来解决。


基本上我们都会先获取页面然后用一个for循环来控制滚动条上下来滑动(执行js的document),以获取更多的网页数据,再获取源码,下一步就是像上述正常来获取数据。(对于翻页也是用for循环控制)


我们在这个基础上可以写一个自己使用的类,上面很多相同操作都写好,放入自己电脑里,以后就像第三方库一样直接给出url和xpath、css就可以获取数据。


在成熟以后还是发现存在很多问题,比如走一段时间就会被服务器中断,或是其他异常原因,我们就会选择框架来爬取,比如本人喜欢的scrapy。当然scrapy还是要花些心思才能学好,而在学习scrapy其实就是综合了上述的大部分基础知识。以上都是可以加入多线程和多进程,本身scrapy是默认16个线程,可以用subprocess来控制多进程,有要求的可以维护一个代理池来爬取。


最后一种爬取那就是换语言,很多人是采用Java,本人想说的不是它,而是另外的,那就是Go,这里不细聊go,但是它的速度真的可以和c媲美,想象爬虫用c一样的速度在跑,是什么感觉。我们说go语言以后是趋势,最少在Android时代是,俗话说go语言是网络时代的c。


今天就聊这么多,晚安,各位爬虫爱好者……

相关文章

  • 如何一步步学好爬虫

    在学习完基本的Python基础以后就可以开始学习如何爬取网络数据了。首先应该知道简单的浏览器http请求机制和网页...

  • 迈向学霸的数学提分法

    怎样一步步学好数学? 如何冲刺提分? 如何从菜鸟变身学霸? 如何实现逆袭和突围? 如何持续保持领先? 优秀者一定不...

  • 十行代码体验爬虫的尖锐之处

    爬虫入门模块: requests库 > 众所周知,学好requests库模块,就能解决爬虫一半的问题,下面让我们一...

  • 如何构建一个分布式爬虫:基础篇

    继上篇我们谈论了Celery的基本知识后,本篇继续讲解如何一步步使用Celery构建分布式爬虫。这次我们抓取的对象...

  • 30岁的他失业后,如何成为一名高薪爬虫工程师?

    很多人在刚刚接触python时,会听到“网络爬虫”这个名词,因为世界上80%的爬虫是基于Python开发的,学好爬...

  • 去咖啡厅上学

    学习需要环境做为土壤 1 爬虫脑喜欢模仿 我们都知道想要学好英语,好的语言...

  • 如何学好英语,这几个app帮助你学好英语

    如何学好英语,这几个app帮助你学好英语 如何学好英语,这里总结了几个手机软件app: 1 .TED TED是...

  • 3 Scrapy 爬取(2)

    根据前面的知识可以写出一个简单的爬虫,再一步步完善它 在爬虫的根目录中输入命令scrapy crawl quotes

  • 如何学好历史

    如何学好历史2017级双语11班 侯霄昆针对如何学好历史科目,我谈一下自己的几点看法,希针对如何学好历史科目,我谈...

  • 怎么样在摄影培训学校学好摄影

    如何学好摄影 学好摄影,需要具备很多条件,接下来就介绍介绍如何要学好摄影造型,看一看学习摄影应该有的基本门道。如何...

网友评论

    本文标题:如何一步步学好爬虫

    本文链接:https://www.haomeiwen.com/subject/qgmqottx.html