爬取51job网页中的信息

import requests
from lxml import html
from pandas import DataFrame

# 网址
url="https://search.51job.com/list/000000,000000,0000,32,9,99,Java%25E5%25BC%2580%25E5%258F%2591,2,1.html"
# 获得网页对象
res = requests.get(url)
# 设置编码格式
res.encoding = "gbk"

# 利用etree初始化生成一个XPath解析对象
etree = html.etree
root = etree.HTML(res.text)
# 利用XPath提取网页信息
# ---职位名 - --
position = root.xpath('//div[@class="el"]/p[@class="t1 "]/span/a/@title')
for i in range(len(position)):  # 直接输出会有空格和换行符,用strip()函数去除
    position[i] = position[i].strip()
# ---公司名---
company = root.xpath('//div[@class="el"]/span[@class="t2"]/a/@title')
# ---工作地点---
place = root.xpath('//div[@class="el"]/span[@class="t3"]/text()')
# ---薪资---
salary = root.xpath('//div[@class="el"]/span[@class="t4"]/text()')

# 将取出的信息放到数据框
jobInfo = DataFrame([position, company, place, salary]).T
# 设置列名
jobInfo.columns = ['职位名', '公司名', '工作地点', '薪资']
# 输出数据(部分)
print(jobInfo.head())

# 将数据保存到本地
jobInfo.to_csv('51job.csv')

输出结果:

                职位名                            公司名                     工作地点         薪资
0  Java开发工程师(高级)-武汉-MI(J10089)     北京联想利泰软件有限公司        武汉          1-1.5万/月
1  Java开发工程师                            耘申信息科技(上海)有限公司    上海-黄浦区    1.5-2.5万/月
2  高级Java开发工程师                        深圳市维度统计咨询股份有限公司   深圳-罗湖区    1.7-2.5万/月
3  Java开发工程师(中级,互联网)             广州贝应网络科技有限公司         广州-天河区   0.7-1万/月
4  Java开发工程师(双休+工作餐)               河南友途实业有限公司             郑州-郑东新区  0.7-1.2万/月

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值