# 基于Scrapy框架的Python3就业信息Jobspiders爬虫
* Items.py : 定义爬取的数据
* pipelines.py : 管道文件,异步存储爬取的数据
* spiders文件夹 : 爬虫程序
* settings.py : Srapy设定,请参考 [官方文档](https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/settings.html#topics-settings-ref)
* scrapy spider
* 爬取三大知名网站,使用三种技术手段
* 第一种直接从网页中获取数据,采用的是scrapy的基础爬虫模块,爬的是**51job**
* 第二种采用扒接口,从接口中获取数据,爬的是**智联招聘**
* 第三种采用的是整站的爬取,爬的是**拉钩网**
* 获取想要的数据并将数据存入mysql数据库中,方便以后的就业趋势分析
## 实现功能:
* 从三大知名网站上爬取就业信息,爬取**发布工作的日期**,**薪资**,**城市**,**岗位有那些福利**,**要求**,**分类**等等,并将爬到的数据存到**mysql数据库中**
## 使用教程:
### 运行前需要安装的环境
* 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,末行加上
```Bash
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
```
注意替换自己find到的virtualenvwrapper.sh位置
* 其次就是安装一些模块,提供三种
1. 最简单的方法 pip install -r requirements.txt
![](./JobSpiders/images/virtualenv.png)
2. 第2种方式如果安装了virtualenv和virtualenvwrapper就直接运行以下命令安装
```
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安装
```
3. 如果没有安装虚拟环境可以在pycharm中进行安装,alt+enter选择,如果没有正确的模块,就在setting中的project中的解释器Interpreter,再点击+号在里面搜索
4. 2019-3-10更新 发现一个问题环境问题,就是现在的Scrapy版本最新的1.6的,但是一点六的移除了一些组件导致安装的时候会报一个 "ImportError: No module named 'scrapy.contrib' ",所以自己去github上搜索scrapy通过源码编译安装1.5.1
#### 运行项目
* 把下好的项目在pycharm中打开
* 新建一个数据库叫jobspider,编码用utf-8 ,运行jobspider.sql文件
- create database jobspider charset utf8;
- use jobspider;
- source sql路径;
* 运行main文件,打开注释内容,运行需要的spider即可,运行拉勾网的时候要改动谷歌浏览器的驱动chromedriver位置
* 或者直接在命令行中运行scrapy runspider XX某某spider
* 使用拉钩网模块的时候注意改成自己的拉钩网账号(我的已经改密码了,老是提示我的异地登陆),还有就是更改chromedriver的位置
## 下面是一条爬到的数据
![](./JobSpiders/images/java.png)
### 数据分析
> 爬虫只是为了获得数据,重要的还是如何做数据分析
#### 生成词云
* 连接数据库,取出其中的10000条数据,使用结巴分词,将中文进行拆分,手动去掉没有意义的词
* ~~连接数据库,取出其中的10000条数据,使用pkuseg-python分词(最近才出的新的分词),将中文进行拆分,手动去掉没有意义的词,分词准确率提高了但是貌似性能不高,慢的要死~~
* 效果图,待完善
![](./data/image.png)
![](./JobSpiders/images/AI岗位地点分布.png)
![](./JobSpiders/images/C++岗位地点分布.png)
![](./JobSpiders/images/job_classification.png)
![](./JobSpiders/images/Python前二十需求.png)
![](./JobSpiders/images/Python岗位地点分布.png)
![](./JobSpiders/images/大数据岗位地点分布.png)
![](./JobSpiders/images/岗位地点分布.png)
![](./JobSpiders/images/算法岗位地点分布.png)
![](./JobSpiders/images/图片1.png)
![](./JobSpiders/images/图片2.png)
![](./JobSpiders/images/图片3.png)
![](./JobSpiders/images/图片4.png)
![](./JobSpiders/images/图片5.png)
![](./JobSpiders/images/图片6.png)
![](./JobSpiders/images/图片7.png)
![](./JobSpiders/images/图片8.png)
![](./JobSpiders/images/图片9.png)
![](./JobSpiders/images/图片10.png)
![](./JobSpiders/images/图片11.png)
![](./JobSpiders/images/图片12.png)
#### TODO
#### 2019-3-11更新
发现一个问题:就是使用驱动获取cookie,与使用浏览器自己打开,所弹出的登录页面有所不同,手动打开的网页中没有图片验证码,而使用驱动(无论是谷歌浏览器驱动还是火狐的浏览器驱动均没有用,亲测),根据相关文档查看到根据驱动是可以获取到指纹特征,所以拉钩也可能在这方面做过手脚,也看到使用驱动下面的一行代码会为true,‘window.navigator.webdriver’,所以应该还是挺多的方法可以检测是不是机器人在操作。
#### 2019-3-14更新
拉钩网两处需要验证码的地方
1. 登录(Fixed)
![login](./JobSpiders/images/login.png)
2. 302重定向(Fixed)
![./JobSpiders/images/20190314224307.png](./JobSpiders/images/20190314224307.png)
##### 拉钩网验证
![robot](./JobSpiders/images/robot.png)
#### 引进图片识别
#### 2019-3-23更新
修改spider下的lagou.py,修改为自己的若快账号和拉钩账号
### 想要拉钩网数据参考[testlagou.py](./JobSpiders/spiders/testlagou.py)
动态更新cookie值就可以了,全站难度有点大,直接请求接口比较简单
### 2023-02-15 update
51job update ,see new51job.py
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scrapy爬取51job爬虫系统源码.zip 基于scra
资源推荐
资源详情
资源评论
收起资源包目录
基于scrapy爬取51job爬虫系统源码.zip (113个子文件)
scrapy.cfg 263B
chromedriver 7.76MB
jobai.csv 220KB
.gitignore 53B
JobSpiders.iml 443B
jieba_wordcloud_usage.ipynb 56KB
tkcode.jpg 37KB
test.jpg 34KB
test.jpg 17KB
cookies_dict.lagou 2KB
geckodriver.log 1KB
ghostdriver.log 0B
README.md 6KB
image.png 223KB
login.png 194KB
java.png 131KB
大数据岗位地点分布.png 95KB
岗位地点分布.png 91KB
Python岗位地点分布.png 90KB
AI岗位地点分布.png 90KB
C++岗位地点分布.png 89KB
算法岗位地点分布.png 86KB
virtualenv.png 84KB
图片9.png 72KB
图片11.png 67KB
图片12.png 52KB
图片10.png 51KB
图片8.png 49KB
job_classification.png 44KB
20190314224307.png 38KB
图片5.png 35KB
图片3.png 32KB
图片2.png 32KB
图片6.png 31KB
图片1.png 31KB
robot.png 29KB
图片7.png 29KB
图片4.png 28KB
Python前二十需求.png 13KB
pipelines.py 15KB
lagou.py 14KB
lagou2.py 10KB
zhaopin_cplus.py 7KB
zhaopin_ai.py 7KB
zhaopin_arithmetic.py 7KB
zhaopin_bigdata.py 7KB
zhaopin_java.py 7KB
zhaopin_go.py 7KB
zhaopin_python.py 7KB
settings.py 5KB
middlewares.py 5KB
parse_detail.py 5KB
new51job.py 3KB
testlagou.py 3KB
zhaopin_util.py 3KB
chinahr_parse_detail_util.py 3KB
redirectMiddleware.py 3KB
items.py 2KB
getLaGouCookie.py 2KB
ruokuai_code.py 2KB
ruokuai.py 2KB
job51.py 1KB
job_ai.py 1KB
job_python.py 1KB
job_bigdata.py 1KB
job_arithmetic.py 1KB
jieba_wordcloud_ai.py 1KB
job_cplus.py 1KB
job_go.py 1KB
main.py 847B
common.py 525B
url_encode_test.py 441B
职位种类.py 382B
__init__.py 161B
__init__.py 0B
__init__.py 0B
lagou.cpython-35.pyc 9KB
pipelines.cpython-35.pyc 8KB
lagou2.cpython-35.pyc 7KB
zhaopin_ai.cpython-35.pyc 5KB
zhaopin_arithmetic.cpython-35.pyc 5KB
zhaopin_cplus.cpython-35.pyc 5KB
zhaopin_bigdata.cpython-35.pyc 5KB
zhaopin_python.cpython-35.pyc 5KB
zhaopin_java.cpython-35.pyc 5KB
zhaopin_go.cpython-35.pyc 5KB
middlewares.cpython-35.pyc 4KB
parse_detail.cpython-35.pyc 3KB
items.cpython-35.pyc 2KB
redirectMiddleware.cpython-35.pyc 2KB
getLaGouCookie.cpython-35.pyc 2KB
ruokuai_code.cpython-35.pyc 2KB
ruokuai.cpython-35.pyc 2KB
job51.cpython-35.pyc 2KB
job_ai.cpython-35.pyc 2KB
job_python.cpython-35.pyc 1KB
job_bigdata.cpython-35.pyc 1KB
job_arithmetic.cpython-35.pyc 1KB
job_cplus.cpython-35.pyc 1KB
job_go.cpython-35.pyc 1KB
共 113 条
- 1
- 2
资源评论
白如意i
- 粉丝: 5285
- 资源: 3231
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功