爬虫学习阶段性总结

爬虫学习阶段性总结css

爬虫的基础知识我打算就先学到这里了,之后须要用起来的时候再去看看相关文档和谷歌,作一个小量级的爬虫程序问题不大,对于分布式的和增量更新去重等需求就直接上框架,用别人的轮子仍是蛮爽的。html

简单小量级:requests+pyquery前端

JS渲染太多的:selenium+Phantomjspython

框架:Pyspider或者Scrapy,我的比较喜欢Scrapy,主要是pyspider的文档真的少,二者框架差很少的,前者有WEBUI,后者是命令行模式,看喜欢哪一个就用哪一个吧。git

 

学习资料总结:程序员

第一部分基础github

1.     环境搭建:web

建议直接用虚拟机ubuntu(自带python2和3),terminal敲代码就能够了正则表达式

2.     python基础(0基础的看这个):数据库

http://www.runoob.com/python3/python3-tutorial.html

3.     看完上面这个以后看下面这个:(感受做者写到错误调试那一章以后就不是太好了,感受是一股脑东西给你砸过来)

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

扩展阅读:

《简明python教程》

https://molun.net/byte-of-python-2017-new-translation-edition-release/

4.     Git教程

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

这个写的蛮好的,看这个就够了,后续须要的项目代码能够从github上拷贝,在上面也有不少的爬虫项目能够参考,注意看star和fork数量,能够参考时间比较新的(push时间),算是一个挺好的资源来源(比本身百度去搜索的爬虫不少都过时了,或者网站策略 更新了,对新手不太友好,会浪费比较多时间)

第二部分爬虫:

1.     崔庆才博客和教程视频:

http://cuiqingcai.com

教学视频在youtube有,我也存到本地网盘了。

视频内容都挺好的,一步步作下来,基本也就入门了爬虫了

2.     阅读相关的基础知识:

上面作爬虫的时候会常常遇到一些概念(前端),崔是作前端的,因此有些讲的很快,不懂的时候建议把视频暂停下来,看看下面这些概念

HTTP/HTML/AJAX/JSON/CSS/XPATH

教程均可以在这里找到:

http://www.runoob.com/

看重点就能够了,不须要所有都看,好比HTML就看一下基础元素属性和总结就行了,须要用到其余的时候再补

3.     数据库的基础知识:

教程均可以在这里找到:

http://www.runoob.com/

MySQL/MongoDB/Redis

同理,看一下基础应用就行了,简单爬虫要求并不高,后续再深刻学习。

 

4.     阅读相关的库文档,按照库文档的理解敲敲例子

这里包括请求库,解析库,存储库和工具库

大概是下面这些(资料经过百度或者谷歌都能搜到)

requests/re/selenium/lxml/beautifulSoup/pyquery/pyspider/scrapy/pymql/pymongo


重点以为应该看一下几个解析库,好比bs4/pyquery/lxml和用一下css/xpath语法,熟悉一下每次筛选以后是什么类型的数据,以及怎么遍历,取出本身想要的数据,每一个例子最好都使用print(type())打印一下类型,加深理解。

 

第三部分爬虫练手资源:

1.     知乎分享的合集(有挺多不能用得了,可是能够参考一下名字,搜一下最新的文章)

https://zhuanlan.zhihu.com/p/27938007

2.     崔庆才视频中的几个项目

 

不须要太多。

 

第四部分其余经验:

1.     爬虫容易写出知足感,因此不要在这上面花太多时间(其实我须要数据的时候仍是找其余人要的,因此加个QQ群,程序员都是乐于助人的),适可而止就行了,除非要在爬虫这个职业上作长期发展

2.     加多几个靠谱的python或者爬虫QQ群

3.     多作笔记,多写代码(写个爬虫可能只须要1个小时,可是写个文章就须要2个小时,在写文章的过程当中加深理解,跟读书的时候作笔记是同样的)

4.     至少要作到如下几个爬虫例子:

(1)   requests+正则表达式爬取静态网页(最好是加入搜索关键词的),并加入多进程,数据库存储,文件下载(图片和文本)

(2)   requests+lxml+xpath爬取静态网页,其余同第(1)点

(3)   requests+bs4+css/xpath爬取静态网页,其余同第(1)点

(4)   requests+pyquery+css爬取静态网页,其余同第(1)点

(5)   selenium+Phantomjs爬取静态网页,其余同第(1)点

(6)   pyspider+ selenium+Phantomjs爬取静态网页,其余同第(1)点(静态网页用pyspider爬感受大材小用)

(7)   scrapy爬取动态网页,其余同第(1)点

(8)   找一个封IP和cookies的网站(好比微博),用scrapy爬取,把几个pipeline都用起来,而后加入分布式爬取(找3个云服务器就ok了,一个发布任务,两个爬取),其余同第(1)点

5.     坚持,适可而止

 

第五部分 其余资源:

1.     反爬文章参考:

这个写的很全面也挺棒的:

http://www.freebuf.com/articles/web/137763.html

这是一个实例演示,也不错:

http://www.freebuf.com/news/140965.html

这个破解例子不错:

http://blog.csdn.net/bone_ace/article/details/71056741

 

2.     一个完整的爬虫+前端界面(真的挺棒的!)

https://github.com/GuozhuHe/webspider

相关文章
相关标签/搜索