利用scrapy爬取实习僧网站中数据分析实习岗的所有招聘信息

scrapy框架中的spider代码

import scrapy
from shixiseng.items import ShixisengItem
from bs4 import BeautifulSoup# 实习僧存在字体反爬,需要进行转换
def replace_response(response):replace_dict = {'&#xe9da': '0','&#xed48': '1','&#xe0cb': '2','&#xe994': '3','&#xe4a0': '4','&#xf7bf': '5','&#xe3df': '6','&#xf81d': '7','&#xeb00': '8','&#xe622': '9'}text = response.textfor key, value in replace_dict.items():text = text.replace(key, value)soup = BeautifulSoup(text)return soupclass shixisengspider(scrapy.Spider):name = 'shixiseng' # 爬虫名称allowed_domains = ['shixiseng.com'] # 允许的域名start_urls = ['https://www.shixiseng.com/interns?page={}&keyword=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&type=intern&area=&months=&days=&degree=&official=&enterprise=&salary=-0&publishTime=&sortType=&city=%E5%85%A8%E5%9B%BD&internExtend='.format(i) for i in range(1,24)]def parse(self,response):# 字体转换soup = replace_response(response)# 岗位列表页信息爬取 jobs = soup.select('div.intern-wrap') for i in jobs:job_url = i.div.div.p.a.get('href')com_name = i.div.find_all('div')[1].p.a.textcom_type = i.div.find_all('div')[1].find_all('p')[1].span.textcom_size = i.div.find_all('div')[1].find_all('p')[1].find_all('span')[2].textitem = ShixisengItem(job_url=job_url,com_name=com_name,com_type=com_type,com_size=com_size)request = scrapy.Request(url=job_url,callback=self.parse_body)request.meta['item'] = itemyield request# 岗位详情页信息爬取def parse_body(self,response):item = response.meta['item']soup = replace_response(response)job_name = soup.select('.new_job_name')[0].get('title')job_money = soup.select('.job_money')[0].textjob_position = soup.select('.job_position')[0].get('title')job_academic = soup.select('.job_academic')[0].textjob_week = soup.select('.job_week')[0].textjob_month = soup.find_all('span',class_='job_time')[0].textjob_good_list = [i.string for i in soup.select('.job_good_list > span')]job_detail = soup.select('div.job_detail:nth-child(1)')[0].text.replace('\n\n','\n').replace('\t','')com_position = soup.select('.com_position')[0].textitem['job_name'] = job_nameitem['job_money'] = job_moneyitem['job_position'] = job_positionitem['job_academic'] = job_academicitem['job_week'] = job_weekitem['job_month'] = job_monthitem['job_good_list'] = job_good_listitem['job_detail'] = job_detailitem['com_position'] = com_positionyield item

实习僧——数据分析岗招聘信息爬取 源代码相关推荐

  1. 实习僧——数据分析岗招聘信息分析 源代码

    爬取实习僧网站所有数据分析实习相关的岗位信息,对其做数据分析 import pandas as pd import matplotlib.pyplot as plt import seaborn as ...

  2. 【2020-10-27】 scrapy爬虫之猎聘招聘信息爬取

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! scrapy爬虫之猎聘招聘信息爬取 1.项目场景 目标网址:https://www.liepin.com/zhao ...

  3. python拉勾网招聘信息爬取(单线程,最新)

    一.任务描述 爬取拉勾网发布的关于"会计"岗位的招聘信息,通过查询相关文章发现,普遍都是使用单线程对网站信息进行爬取,且拉勾网经过多次维护更新,对简单的爬取代码有反爬虫机制,例如不 ...

  4. 前程无忧招聘信息爬取

    爬取前程无忧招聘信息 本文是关于招聘数据爬取,我们选取的网站是前程无忧. 百度直接搜索前程无忧,或者51job.我们将看到搜索栏,在搜索栏中输入"数据分析师"将可以看到工作信息. ...

  5. 某招聘网站“数据分析”相关岗位招聘信息爬取并分析

    确定目标 简单分析数据分析相关岗位的薪酬状况及技能要求: 尝试数据分析从数据获取到数据分析报告撰写的整个数据分析流程,学习爬虫.数据清洗.数据分析相关技巧. 数据获取 获取的岗位数据来源于某招聘网站, ...

  6. Scrapy项目 - 数据简析 - 实现腾讯网站社会招聘信息爬取的爬虫设计

    一.数据分析截图 本例实验,使用Weka 3.7对腾讯招聘官网中网页上所罗列的招聘信息,如:其中的职位名称.链接.职位类别.人数.地点和发布时间等信息进行数据分析,详见如下图: 图1-1 Weka 3 ...

  7. 拉钩招聘信息爬取以及可视化

    本篇文章主要向读者介绍如何爬取像lagou这样具有反爬虫网站上面的招聘信息,以及对于以获取的数据进行可视化处理,如果,我们对于获取的数据不进行可视化处理,那我们获取到的数据就没有发挥它应有的作用.对于 ...

  8. 腾讯招聘信息 爬取案例

    前段时间看了了scrapy,有一个案例是爬取腾讯招聘信息的,当时看了腾讯网站,已经更新换代了,于是自己看了看,写下一个实际可行的demo 首先是观察腾讯招聘首页不在页面element内,但是依旧很容易 ...

  9. 区块链招聘信息爬取与分析

    最近在研究区块链,闲来无事抓取了拉勾网上450条区块链相关的招聘信息.过程及结果如下. 拉勾网爬取 首先是从拉勾网爬取数据,用的requests库.拉勾网的反爬虫做的还是比较好的,毕竟自己也知道这种做 ...

  10. Boss直聘招聘信息爬取

    利用selenium进行爬取,数据为CSV文件 编写时间:2020年03月16日(若爬取失败,应该是网站更新造成的.) from selenium import webdriver from sele ...

最新文章

  1. 关于win7_iis报500.19和500.21错误的解决方法
  2. 脉冲宽度测量程序 c51 c语言,基于C51单片机和LCD1602显示的超声波测距仪C语言程序...
  3. 计算机图形学画线_在计算机图形学中直接使用线方程
  4. token详解及常见防范措施
  5. zipEntry.getSize()=-1
  6. 影响力最大化算法——degreediscount以及python实现代码
  7. 对38位互联网大佬奇葩癖好的奇葩解读
  8. 二、es的可视化工具:Kibana及练习
  9. zabbix监控windows主机网卡流量
  10. 雷电2接口_有关雷电4 的一切信息
  11. ctrl+v粘贴快捷键突然不能使用的原因及解决方案
  12. ceph kernel rbd (二): rbd map , rbd unmap
  13. HTML复选框的全选、全不选以及单选操作。
  14. 基于MATLAB程序设计的计算器(中)
  15. 含有js的英文单词_js-组成-dom-常见单词
  16. manjar强制关闭应用
  17. 【Linux】【操作】Linux环境运行Windows程序方式一览(全网最全)
  18. Android Context 归因标记
  19. JAVA中Action层, Service层 ,model层 和 Dao层的功能区分
  20. Unity 使用 Spine 动画

热门文章

  1. word在线编辑 linux,Office Online Server 在线编辑Office文档,安装部署
  2. 疯狂游戏-研发一面-校招面经
  3. 高数 | 变限积分中的等价无穷小替换
  4. 天猫为海澜之家打造“智慧门店”;东方网力联手电子科技大学,共建人工智能联合实验室...
  5. 发布infopath模板到sharepoint站点(Infopath 2007)
  6. 怎么用计算机弹奏忘羡,《忘羡,钢琴谱》魔道祖师 岚之调(五线谱 钢琴曲 指法)-弹吧|蛐蛐钢琴网...
  7. 以太坊2.0协议核心Beacon链详解
  8. 三维重建之结构光编码方案研究
  9. JAVAFX_Effect效果介绍
  10. JVM3-类文件结构