应届生求职网,职位信息函数初步爬取!!!

阿巴阿巴阿巴

(额,我不是博主本人,姑且叫我猕猴tou儿吧。。。)

前面写了关于前途无忧网站的函数一步爬取,这两天又找到了一个职位信息较全的网站:应届生求职网
这个网站数据量大,信息来源广,可谓是很不错,基本操作与前途无忧类似。

不过在进入详细页爬取的过程中,遇到了不少问题,不过聪明的我还是一步一步的解决了。

详细页爬取的思路

这里也是我最苦恼的地方,网站是不规则的,它不像前途无忧的详细页是规律的,应届生的网站是千奇百怪的,当应对不同的详细页,我们爬取文字的位置也各不相同,详细页的网站大抵分为3类。

第一类网站

第二类网站

第三类网站(gg)

上代码。

def word(word=None):import reimport requestsimport timeimport pandas as pdfrom lxml import etreeh={'Cookie':'td_cookie=2849040562; __cfduid=d7836f11534bdaad03fc44b0dc56464181593258792; Hm_lvt_b15730ce74e116ff0df97e207706fa4a=1593258790; Hm_lpvt_b15730ce74e116ff0df97e207706fa4a=1593258797','User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}K=requests.get('https://s.yingjiesheng.com/search.php?word='+word+'&sort=score&start=0',headers=h)JX=etree.HTML(K.text)page1=''.join(JX.xpath('//*[@id="container"]/div[3]/text()'))#处理得到的页码if page1=='\r\n\r\n\r\n':page=1else:page=re.search('第页/(\d+)页',page1).group(1)urld=[]for i in range(int(page)+1):urld.append('https://s.yingjiesheng.com/search.php?word='+word+'&sort=score&start='+str(i*10))times=[]site=[]types=[]source=[]people=[]position=[]character=[]company=[]specialty=[]urlc=[]for K in urld:url=[]q=requests.get(K,headers=h)jx=etree.HTML(q.text)url=jx.xpath('//*[@id="container"]/div[1]/ul/li/div/h3/a/@href')#详细页网址urlc=urlc+urlfor c in url:q1=requests.get(c,headers=h)q1.encoding='gbk'jx1=etree.HTML(q1.text)print(c)p1=(''.join(jx1.xpath('//div[@class="info clearfix"]/ol/li[1]/u/text()')))#发布时间if p1=='':p1=''.join(jx1.xpath('//*[@id="wordDiv1"]/div[1]/p[1]/label[2]/span/text()'))#时间times.append(p1)else:times.append(p1)p2=''.join(jx1.xpath('//div[@class="info clearfix"]/ol/li[2]/u/text()'))#工作地点if p2=='':p2=''.join(jx1.xpath('//*[@id="wordDiv1"]/div[1]/p[1]/label[1]/span/a/text()'))#工作地点site.append(p2)else:site.append(p2)p3=''.join(jx1.xpath('//div[@class="info clearfix"]/ol/li[3]/u/text()'))#职位类型if p3=='':p3=''.join(jx1.xpath('//*[@id="wordDiv1"]/div[1]/p[1]/label[4]/span/text()'))#职位性质types.append(p3)else:types.append(p3)p4=''.join(jx1.xpath('//div[@class="info clearfix"]/ol/li[4]/a/text()'))#来源if p4=='':p4='本站'source.append(p4)else:source.append(p4)p5=''.join(jx1.xpath('//div[@class="info clearfix"]/ol/li[5]/u/text()'))#职位if p5=='':p5=''.join(jx1.xpath('//*[@id="wordDiv1"]/div[1]/h1/a/text()'))position.append(p5)else:position.append(p5)p6=''.join(jx1.xpath('//div[@id="wordDiv"]//text()'))#文字部分if p6=='':p6=''.join(jx1.xpath('//*[@id="wordDiv1"]/div[2]//text()'))#文字部分character.append(p6)else:character.append(p6)p7=''.join(jx1.xpath('//*[@id="wordDiv1"]/div[1]/p[1]/label[3]/span/text()'))#招聘人数if p7=='':p7=''people.append(p7)else:people.append(p7)p8='|'.join(jx1.xpath('//div[@class="rdiv"]/div[@class="sidebox"]/div//span/text()'))#公司信息if p8=='':p8=''company.append(p8)else:company.append(p8)p9='|'.join(jx1.xpath('//div[@style="margin-top:10px; overflow:hidden"]/a/text()'))#专业标签if p9=='':p9=''specialty.append(p9)else:specialty.append(p9)time.sleep(2)zd={'来源':source,'网址':urlc,'工作地点':site,'职位':position,'职位类型':types,'时间':times,'专业标签':specialty,'招聘人数':people,'公司信息':company,'文字部分':character}bg= pd.DataFrame(zd)return bg.to_excel('C:\\Users\\admin\\Desktop\\'+word+'.xlsx')#换成自己的路径

写一下自己想要的知道的内容:

word('大数据分析师')

函数运行的过程就是这样
最后输出成Excel表格:
结果不可谓是不理想。

总结

网站是死的,思路是活的。

注:本次所抓取的数据仅为学习研究之目的

应届生求职网,职位信息函数爬取!!!稳得一比相关推荐

  1. 爬虫|巨潮资讯网上市公司年报爬取

    爬虫|巨潮资讯网上市公司年报爬取 import pandas as pd from selenium import webdriver from selenium.webdriver.common.k ...

  2. python爬人人贷代码视频_【IT专家】人人贷网的数据爬取(利用python包selenium)

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 人人贷网的数据爬取(利用 python 包 selenium ) 2016/12/31 0 记得之前应同学之情,帮忙爬取人人贷网的借贷人信息,综合 ...

  3. Boss直聘职位信息爬取+分析

    BOSS直聘职位信息爬取分析 先上结果,本次抓取了732条职位的信息入库: 代码实现: import requests import json from lxml import etree from ...

  4. 网易云爬虫-爬取单曲和歌单所有歌曲

    网易云爬虫-爬取单曲和歌单所有歌曲   今天断网了 敲代码不听歌的程序员是没有灵魂的,但是本地下载又太繁琐了,想着能不能一下把一个歌单的内容按文件夹进行下载,说做就做. 首先网上已经有了网易云js加载 ...

  5. 知网关键词搜索爬取摘要信息

    知网关键词搜索爬取摘要信息 由于技术不成熟,代码冗余度较高.同时代码也可能会存在错误,也请各路高人指正. 本篇文章应用范围为期刊搜索(不包括外文文献),其他内容,没有进行测试!!! 本次爬虫所采用到的 ...

  6. 利用R通过顺企网根据公司名称爬取企业地址

    利用R通过顺企网根据公司名称爬取企业地址 有时我们有公司名称数据但是没有地址,需要根据公司名称找出企业的地址,描述其空间布局,如果数据量很大,手动在网页中操作费时费力,R语言提供了一个解决的办法,前提 ...

  7. python处理json数据——网易云评论爬取

    python处理json数据--网易云评论爬取 准备 代码 准备 1.python 3.7 2.需要安装的库: requests jsonpath pandas time fake_useragent ...

  8. 人人贷网的数据爬取(利用python包selenium)

    记得之前应同学之情,帮忙爬取人人贷网的借贷人信息,综合网上各种相关资料,改善一下别人代码,并能实现数据代码爬取,具体请看我之前的博客:http://www.cnblogs.com/Yiutto/p/5 ...

  9. python3 爬虫与反爬虫的斗智斗勇——2018年拉勾网的职位信息爬取

    1.项目概述: 从开始的想法到今天爬取并永久化存储的数据,从一开始爬网页html的文本信息到今天爬取Ajax(网络异步信息),参考了许多前辈的经验,网站是不断变化的,可能你昨天的方法今天已经不适用了, ...

最新文章

  1. 脑机综述(一) | 脑机接口在康复医学中的应用进展
  2. Struts2中采用Json返回List对象数据为空解决方案
  3. MyBatis-学习笔记05【05.使用Mybatis完成CRUD】
  4. Python攻克之路-网络编程(文件上传实现思路)
  5. LeetCode 算法 856. 括号的分数
  6. 怎么让图片手机上排列_荣耀手机系列档次怎么排列?
  7. Mysql 使用正则表达式
  8. [书目20170308]卓有成效的管理者
  9. Web容器初始化过程
  10. 毕设题目:Matlab元胞自动机交通流
  11. 操作系统实验·动态分区分配算法
  12. 翻译软件免费版下载-免费版翻译软件下载
  13. freeswitch 改用mysql_freeswitch和Mysql
  14. 10年建模师给想学次世代游戏建模同学的一些忠告,太受益了!
  15. 高大上~的裸眼3D原理与制作方法
  16. I am fooled
  17. EasyX 图片透明设置
  18. 【米思米工业产品知识分享】- 轴承的分类与主要用途
  19. ImportError: DLL load failed while importing win32api
  20. (MB) MRM域中的物理格式

热门文章

  1. matlab白化权函数,《灰色系统、白化规律和白化权函数.pdf》-支持高清全文免费浏览-max文档...
  2. 我的生活-上海周边玩乐
  3. 卷积神经网络概念及使用 PyTorch 简单实现
  4. AP最大功率一般为100mW/500mW
  5. 【机器学习】详解 转置卷积 (Transpose Convolution)
  6. android模糊查询
  7. H5项目适配系统深色模式方案
  8. 2021年中国私营工业企业数量及经营情况分析[图]
  9. Jetpack Compose 初体验(上)
  10. python3.6 linux_Linux CentOS升级Python 3.6版本方法