文章目录
絮叨一下
boos直聘,想必对于找工作的同志都非常熟悉,以其'招人快 人才多 匹配准 公开透明'等优点位居行业的前沿,,,当然我不是来打广告的,我是来安排他的.
今天就用scrapy框架配合selenium进行岗位,薪资.待遇,公司 等信息进行爬取
对于反爬,自己的需求不是很高自然这种方法应该是最简单的
分析
boss直聘网站: www.zhipin.com
他的反爬还是很讨厌的,信息都是用cookies渲染生成的,cookies时效很短,很快就失效了,快速访问还会封掉你的ip ,封了ip第一反映就使用代理吧,使用代理你就会发现,会提示ip异常,然后进验证,,完了 看来需要接入接码平台了,,啊啊啊 , 好麻烦
,当然了首页是没有反爬的,那就慢一点,虽然这一点都不像爬虫的正确姿势
但对于一些反爬机制,有不懂js的时候,这似乎也是一种选择
开撸
主要抓取职位,薪资,公司名字,待遇,要求
1.新建爬虫
打开终端或者是cmd 输入命令
新建项目
scrapy startproject boss
进入boss目录
cd boss
新建爬虫
scrapy genspider boss_spider 'zhipin.com'
使用pycharm打开
2.分析页面布局
查看url :
第一页: https://www.zhipin.com/c101120100/?query=python&page=1&ka=page-1
其中&ka=page-1可以省略
第二页:https://www.zhipin.com/c101120100/?query=python&page=2
一共10页
查看数据
想要的数据全都保存在ul列表下
那我们就可以去遍历ul
3.步骤
我们知道了地址知道了数据的存放位置 就可以开始了
1.设置middlewares以及settings(核心)
因为我们要使用selenium,需要截获他的response对象,然后在进行转换
我们新建一个类
如果你不清楚selenium的使用也没有关系,可以查看这篇文章
selenium详细介绍
如果你还不明白scrapy的中间件可以参考这篇文章,要不在往下看你将会很迷糊
scrapy详细
from scrapy import signals
from selenium import webdriver
import time
from scrapy.http.response.html import HtmlResponse
class CookiesMiddlewares(object):
def __init__<