基于Scrapy框架的Python3就业信息Jobspiders爬虫
完整项目源码下载地址:文末。
实现功能:
教程:
运行前需要安装的环境
sudo apt-get install python-pip python-dev build-essential sudo pip install --upgrade pip sudo pip install --upgrade virtualenv sudo pip install virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh
最简单的方法是 pip install -rrequirements.txt。 第二种形式。 如果安装了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安装
如果没有安装虚拟环境,可以在pycharm中安装,选择alt+enter,如果没有正确的模块,进入setting中项目中的解释器Interpreter,然后点击+登录搜索2019-3-10更新,找到一个问题是当前Scrapy版本是最新的1.6,但是1.6时已经删除了一些组件,导致出现“ImportError: No module named 'scrapy.contrib'”安装时会报错,所以自己去github搜索scrapy通过源码编译安装1.5.1
运行项目
分析步骤
第一个是智联招聘网站的首页。 搜索后,比如搜索Java,右键查看网页源代码,可以看到网页上找到的内容是异步加载的,如图:
然后点击f12打开开发者工具,如图:
然后点击刷新查看发送的异步请求并分析:
可以看到发送了两个异步请求,发现第二个是前端socket,直接发送给postman进行测试,如图:
发现是一个标准的socket,直接调用socket就可以爬取网站的数据,这样就阻止了对网页的分析,并返回json数据。 另外需要注意的是,pageSize请求为60,返回为62:
然后检查网页中是否填写了62条数据。 其他的就比较简单了,直接按照url拼接发送请求,并解析每一项,也需要url编码。
下载链接: