今天看了一本书的介绍《python网络爬虫实战》,里面介绍了四种框架(or模块),我做了小结如下:
- scrapy 基本常用的框架,只要根据固定模版,编写即可,自己主要编写解析的选择器,和解析出来的数据处理。特别适合静态页面的,比如新闻资讯等
- beautiful soup 不是框架,是一个模块,不能像scrapy只是配置,scrapy侧重解析返回的html文件和处理解析出来的数据。bs需要完全从头到位自己编写,但是灵活度更高。
- mechanize 模拟浏览器,可以实现交互,比如验证码输入等。
- selenium 上面的功能对于js不能很好的支持,这个模块可以支持js,我个人喜欢用这个模块,因为它的使用方法跟我以前使用的微软平台下的webbrowser控件很相似。
对selenium,主要适用里面的selenium.Webdriver模块,它支持多种浏览器,比如chrome,i.e.,firefox,opera等,但是如果不用界面,则使用plantomjs,plantomjs是没有界面的,速度比chrome快,根据介绍,它用于页面自动化、网络监测、网页截屏、以及×××面测试等,所以在服务器模式下,没有界面,用plantomjs是最好的选择。现在plantomjs有mac版本的,可以去网站下载。记得用迅雷下载。下载好了,直接解压,将里面bin目录下的文件 : cp phantomjs /usr/local/bin/ 。 就可以在python使用了,只要import selenium就可以使用。使用selenium非常简单,基本上就是将你如何操作浏览器浏览网页的步骤代码化。