最近公司有这方面需求,在网上找了一些爬虫,使用了一段时间之后发现很多没解决验证码和cookie这两个很头疼的问题。
于是想到了PhantomJS和webdriver,Headless浏览器,虽然PhantomJS看不到显示界面,但其实就是在一个浏览器内核中运行,这免去了很多麻烦事。
最初试了Firefox,验证码出现的几率几乎降到了0,文章列表基本上跟真浏览器访问无差,后来移植到centos上,但因为centos上装firefox还是比较麻烦,于是改用了PhantomJS,但测试发现PhantomJS的抓取效果很一般,经常关键词抓错,暂时不知道原因,但效果类似于将中文字符去掉,英文关键词抓取是没有问题的,还望有经验的人士解答。
本着方便的原则,简单封装了几个操作MySQL方法,可以直接将数据存到MySQL里面,sql文件夹下面的两个文件分别是文章和公众号的表格创建文件,连接MySQL之后直接输入source
,然后把文件拖到命令行就行了。
配置文件可以自己修改,也可以自己在创建实例的时候输入config。
暂时使用的PhantomJS,需要安装不少东西,有时间写个安装教程。
main.py是测试文件,里面写了两个测试用例,可以在安装好东西之后运行一下。
项目地址是,欢迎提issue,fork和star。