之前不理解爬虫的时候,感觉很强大,当你理解后会发现确实很强大,哈哈,开个小玩笑。言归正传,当你深入的了解,会发现爬虫其实就是解析网页内容,利用xpath、selector、re等语法抽取所需要的数据内容。所以说学习爬虫,首先要学会处理HTML的文本页面(包括抽取中间的文本内容,下载图片,抽取url等)。
以下列出学习几个处理web网页的Python模块及参考的博客:
1.HtmlParser 参考:http://www.cnblogs.com/masako/p/5868367.html
2.SGMLParser 参考:http://pako.iteye.com/blog/592009
3.pyQuery 官方文档:https://pythonhosted.org/pyquery/#quickstart
参考:http://blog.itpub.net/22166274/viewspace-1183937/ (实战)
http://blog.csdn.net/cnmilan/article/details/8727308 (用法)
4.BeautifulSoup 官方文档:
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
5.lxml 参考:http://cuiqingcai.com/2621.html
在处理网页抽取数据的时候可以用以上5个模块,不过3、4、5是比较常用的,具体可根据自己的喜好选择用哪个,以上模块不用全部学习,多了也不一定都能记着(如果你的记忆力超强,算我没说,哈哈),选一两个学就好。既然已经学会了数据的抽取接下来就是如何获取网页的数据内容了。
二、获取网页数据及处理
关于处于网页的,网上有大把的教程,我就不在闭门造*了。推荐一个详细的爬虫教程(基于urlib这个模块的)
爬虫(一):http://blog.csdn.net/pleasecallmewhy/article/details/8922826
爬虫(二):http://blog.csdn.net/pleasecallmewhy/article/details/8923067
爬虫(三):http://blog.csdn.net/pleasecallmewhy/article/details/8923725
爬虫(四):http://blog.csdn.net/pleasecallmewhy/article/details/8924889
爬虫(五):http://blog.csdn.net/pleasecallmewhy/article/details/8925978
爬虫(六):http://blog.csdn.net/pleasecallmewhy/article/details/8927832
爬虫(七):http://blog.csdn.net/pleasecallmewhy/article/details/8929576
爬虫(八):http://blog.csdn.net/pleasecallmewhy/article/details/8932310
爬虫(九):http://blog.csdn.NET/pleasecallmewhy/article/details/8934726
以上的教程是基于urlib这个模块的,你还可以利用requests这个模块来获取网页数据(本人是比较喜欢用requests的),处理各种的请求(get,post,delete等)。Requests学习参考:
http://docs.python-requests.org/en/master/
http://docs.python-requests.org/en/latest/api/?highlight=elapsed#requests.Response.elapsed
当学习完以上后基本就选小成了,以下推荐一个爬虫的小游戏可以练练手,一共四关,当过了第一关后,第二关才会出现,当然你也可以直接在网上搜索第二关的地址,地址是:http://www.heibanke.com/lesson/crawler_ex00/,这几关网上有答案,但一定要先自己写然后再去参考答案哦,办法不止一种,相信自己
还可以参考这两个地址,主要讲爬虫的思路及一些实现,参考地址:
http://www.zhihu.com/question/20899988
http://www.zhihu.com/question/21358581