Python——获取工作薪资情况
【摘要】 Python——获取工作薪资情况
00 前情提要
临近毕业,相信大家都在找工作。而工作的薪酬,毫无疑问是我们关注的重点之一。这里,我简单编写了一个Python程序,用于获取目前市面上的工作薪酬情况。
01 实现背景
1、实习招聘网站——实习僧:https://www.shixiseng.com/,我们获取薪酬的数据来源
2、requests模块,用于http形式请求访问网页
3、BeautifulSoup模块,用于解析获取到的网页内容
4、反编译,通过逆推十六进制数字获取对应的阿拉伯数字
02 实现目标
首先利用requests模块获取实习僧网页源码,通过BeautifulSoup模块进一步筛选获得薪资内容
03 注意事项
1、源代码以python职位为例进行薪资搜索,如需搜索其他职位,可在源代码中自行替换对应关键词
resp = requests.get('https://www.shixiseng.com/interns?page={}&keyword=python'.format(page), headers = headers)
2、网站由于反爬虫机制,会经常替换十六进制编码对应的数据,若薪资数字出现乱码情况,需要自行重新逆推
3、如需将获取内容输入到本地文件,可自行利用with…open操作
04 实现代码
import requests
from bs4 import BeautifulSoup
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}
def detial_url(url):
html = requests.get(url,headers = headers)
soup = BeautifulSoup(html.text,'lxml')
title = soup.title.text
company_name = soup.select('.com_intro .com-name ')[0].text
salary = soup.select('.job_money.cutom_font')[0].text.encode('utf-8')
salary = salary.replace(b'\xef\x8e\x8d',b'0')
salary = salary.replace(b'\xef\x8b\xbd',b'1')
salary = salary.replace(b'\xee\x8f\xbf',b'2')
salary = salary.replace(b'\xee\x96\x9a',b'3')
salary = salary.replace(b'\xef\x81\xb2',b'4')
salary = salary.replace(b'\xef\x8a\x83',b'5')
salary = salary.replace(b'\xef\x8a\xa6',b'8')
salary = salary.decode()
print(title,company_name,salary)
def crawl():
for page in range(1,5):
resp = requests.get('https://www.shixiseng.com/interns?page={}&keyword=python'.format(page), headers = headers)
html=resp.text
soup =BeautifulSoup(html,'lxml')
offers = soup.select('.intern-wrap.intern-item')
for offer in offers:
url = offer.select('.f-l.intern-detail__job a')[0]['href']
detial_url(url)
crawl()
05 实现效果
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)