爬取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万/月

 

你可能感兴趣的:(Python爬虫)