该如何循序渐进学习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爬虫)