该如何循序渐进学习Python爬虫

对于爬虫,可以选择任何一种语言,只是实现的方式不一样,效率的问题。可以是Java、Ruby、Perl......对于爬虫,Python应该算是优选的语言,门槛低,简洁,逻辑清晰,库比较丰富......

缺点:

1、动态性,速度不是很快,对于大型爬虫可以实现起来还需要其他扩展。

2、对于多线程支持不是很好,主要还是GIL锁的缘故,网上大部分提倡多进程。

......

对于Python爬虫,还是和其他任何事物一样,万丈高楼平地起,Python基础自然要熟悉,对于OOP也是要尽量熟悉。

具体学习流程:

1、Python基础(标准库和方法,包括OOP)

2、html/css简单的基础知识。

3、Python 标准模块re、urllib内的方法和属性,如何包装浏览器头、cookies、proxy等等。

4、循序渐进学习一些第三方库requests来代替标准库

5、在解析网页源码的时候发现re模块的写法过于复杂和难懂,所有会选择beautifulsoup来解析

6、后又发现beautifulsoup库也难免有些晦涩,接着学习lxml库,速度应该算是比较快的在Python里面。

7、在学习了如何解析网页源码的过程中发现到很多网页是JavaScript渲染的,所以应该学习到selenium、PhantomJS模块(速度相对比较慢,但是完全够用)

8、学到这里应该算学习爬虫到了一定的水平,基本上可以解决一些常见的网站数据抓取,然而很多时候你会发现每次写爬虫的时候,都是要一步步去实现一些重复的工作,所以我们可以自己写一个自定义的为自己使用的类,这样随时可以去调用,比如直接输入一个url就可以直接构造headers去爬取网页,这里有一个我自己写类,里面包括可以自动简单的构造一个headers,还会随机更换浏览器头等等,还可以去模拟selenium 模拟鼠标滚动滚动条,也就是说要提前安装selenium,request,lxml等等,这里不多说了,直接下载放入Python第三方目录即可,基本上没有什么新东西,只是方便,下载地址:Crawler

9、接下来就是重头戏:scrapy,scrapy不适合刚刚接触爬虫的人,应该学习一些爬虫基础,因为scrapy里面包含了前面大部分基础知识如。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,595评论 6 427
  • 爬虫文章 in 简书程序员专题: like:128 - Python 爬取落网音乐 like:127 - 【图文详...
    treelake阅读 29,591评论 33 638
  • 爬虫文章 in 简书程序员专题: like:128-Python 爬取落网音乐 like:127-【图文详解】py...
    喜欢吃栗子阅读 22,062评论 4 411
  • 对很多人来说 去往另一个城市上学是一种锻炼自己的方式,而对我而言,却似乎是我长这么大做过的最刺激也是最后悔的事。在...
    一个肉丸子1阅读 246评论 0 0
  • 大望路的广告牌总是换的好快……很久很久以前是放在你手心里的急支糖浆,走着走着……后来不知道变成了什么……因为我看不...
    呼呼你阅读 387评论 0 0