落笔无事,在网络上的个人博客、论坛逛了大半个月,总结了一些Python库分享(置文末)。
Python网络爬虫
本人前面一篇博文已经说到,如果你想学习Python,那么请先选择网络爬虫,不仅简单实用,还非常有趣,当然最重要的就是挡不住它的资源丰富。
主要分为三大的版块:抓取,分析,存储
-
查找域名相对应的IP地址
-
对IP对应的服务器发送请求
-
服务器响应请求,发回网页内容
-
浏览器解析网页内容
对于同一IP高频率访问的这种情况,可以通过限制爬虫访问网站的频率来避免被网站封禁IP。
如何破解验证码是学习Python爬虫的一道难题,对于一般的验证码,我们能够拿出相对应的对策。
-
代理池,更新IP
-
cookie登陆
-
验证码识别
利用开源的Tesseract-OCR进行验证码图片的下载与识别,将识别的字符传到python爬虫系统进行模拟登陆。如果你实在难度太高,我们有更简便的方法,那就是让别人代劳我们输入验证码,接打码平台即可。
Python库汇总
网络爬虫框架
-
grab – 网络爬虫框架(基于pycurl/multicur)。
-
scrapy – 网络爬虫框架。
-
pyspider – 一个强大的爬虫系统。
-
cola – 一个分布式爬虫框架。
浏览器自动化、仿真
-
selenium – 自动化真正的浏览器(Chrome浏览器,火狐浏览器,Opera浏览器,IE浏览器)。
-
Ghost.py – 对PyQt的webkit的封装(需要PyQT)。
-
Spynner – 对PyQt的webkit的封装(需要PyQT)。
-
Splinter – 通用API浏览器模拟器(selenium web驱动,Django客户端,Zope)。
云计算
-
picloud – 云端执行Python代码。
-
dominoup.com – 云端执行R,Python和matlab代码