scrapy框架爬取51job(scrapy.Spider),智联招聘(扒接口),拉勾网(CrawlSpider)
Python3 Ubantu16.04自带,sudo apt-get install python3.5
mysql : sudo apt-get install mysql-server
安装虚拟环境和虚拟环境的wrapper
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
sudo pip install virtualenvwrapper
配置virtualenvwrapper的工作空间
cd ~
mkdir .virtualenvs
sudo find / -name virtualenvwrapper.sh
vim ~/.zshrc
注意vim自己当前所用的shell,$SHELL查看,用的是bash就vim ~/.bashrc,末行加上export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
注意替换自己find到的virtualenvwrapper.sh位置
其次就是安装一些模块,提供三种
mkvirtualenv --python=/usr/bin/python3 py3scrapy
workon py3scrapy
安装好scrapy框架:
pip install scrapy
- 安装时遇到一个错误twisted/test/raiser.c:4:20: fatal error: Python.h: No such file or directory,解决办法:先安装 **python-dev,python3-dev**,再安装
- 可以使用豆瓣源加速安装
pip install -i https://pypi.douban.com/simple scrapy
pip install fake-useragent
sudo apt-get install libmysqlclient-dev
pip install mysqlclient -i https://pypi.douban.com/simple
其余的在pycharm中alt enter安装
爬虫只是为了获得数据,重要的还是如何做数据分析
发现一个问题:就是使用驱动获取cookie,与使用浏览器自己打开,所弹出的登录页面有所不同,手动打开的网页中没有图片验证码,而使用驱动(无论是谷歌浏览器驱动还是火狐的浏览器驱动均没有用,亲测),根据相关文档查看到根据驱动是可以获取到指纹特征,所以拉钩也可能在这方面做过手脚,也看到使用驱动下面的一行代码会为true,‘window.navigator.webdriver’,所以应该还是挺多的方法可以检测是不是机器人在操作。
拉钩网两处需要验证码的地方
登录(Fixed)
302重定向(Fixed)
修改spider下的lagou.py,修改为自己的若快账号和拉钩账号
动态更新cookie值就可以了,全站难度有点大,直接请求接口比较简单
51job update ,see new51job.py