51job爬虫-xpath

51job,爬虫
https://search.51job.com/list/180200,000000,0000,32,9,99,%25E5%2589%258D%25E7%25AB%25AF%25E5%25BC%2580%25E5%258F%2591,2,1.html
import requests
from lxml import etree
#确定一个对象,及网址
url='https://search.51job.com/list/180200,000000,0000,32,9,99,%25E5%2589%258D%25E7%25AB%25AF%25E5%25BC%2580%25E5%258F%2591,2,1.html'
res=requests.get(url)
print(res)
res.encoding='gbk'
<Response [200]>
#利用etree初始化生成一个Xpath解析对象
root=etree.HTML(res.text)
#利用Xpath获取网页信息
#职位名
position=root.xpath('//p[@class="t1 "]/span/a/@title')
print(position)
len(position)
['高级前端开发工程师', '前端开发工程师', 'Web前端开发工程师', '前端开发工程师(中高级)', 'Web前端开发工程师(急聘+周末双休)', 'web前端开发工程师(偏react方向)', 'Web前端开发工程师', '前端开发(精通javaScript)', 'Web前端开发工程师', '前端开发负责人—武汉', '前端开发工程师', '前端开发主管', '带薪年假+web前端开发', 'python前端开发', '中级前端开发工程师', '前端开发工程师', 'python前端开发', '前端开发工程师', '前端开发工程师', '前端开发工程师', '前端开发工程师', 'web前端开发实习生+双休+五险一金', 'Web前端开发工程师', '前端开发工程师', 'Web前端开发工程师', 'Web前端开发工程师', '初级web前端开发助理+项目奖', 'web前端开发', '实习web前端开发', '前端开发工程师', '小程序前端开发工程师', '高级前端开发工程师', '前端开发工程师', '前端开发(工作地点:宜昌)', 'WEB前端开发/中级开发', 'Web前端开发工程师', '高级Web前端开发工程师', 'Web前端开发工程师', 'WEB前端开发工程师', 'Web前端开发工程师', '前端开发工程师', 'Web前端开发工程师', 'WEB前端开发助理', 'Web前端开发工程师', 'Web前端开发工程师', '前端开发工程师', 'Web前端开发工程师', '初级前端开发工程师', '高端前端开发', '前端开发', '前端开发工程师']
51
#获取a标签中的文本信息
position=root.xpath('//p[@class="t1 "]/span/a/text()')
print(position)
['\r\n                                                高级前端开发工程师                                            ', '\r\n                                    前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    前端开发工程师(中高级)                                ', '\r\n                                    Web前端开发工程师(急聘+周末双休)                                ', '\r\n                                    web前端开发工程师(偏react方向)                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    前端开发(精通javaScript)                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    前端开发负责人—武汉                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    前端开发主管                                ', '\r\n                                    带薪年假+web前端开发                                ', '\r\n                                    python前端开发                                ', '\r\n                                    中级前端开发工程师                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    python前端开发                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    web前端开发实习生+双休+五险一金                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    初级web前端开发助理+项目奖                                ', '\r\n                                    web前端开发                                ', '\r\n                                    实习web前端开发                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    小程序前端开发工程师                                ', '\r\n                                    高级前端开发工程师                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    前端开发(工作地点:宜昌)                                ', '\r\n                                    WEB前端开发/中级开发                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    高级Web前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    WEB前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    WEB前端开发助理                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    Web前端开发工程师                                ', '\r\n                                    初级前端开发工程师                                ', '\r\n                                    高端前端开发                                ', '\r\n                                    前端开发                                ', '\r\n                                    前端开发工程师                                ', '\r\n                                    高级前端开发工程师                                ']
#strip,去除字符串两端的空格和换行符
print(position[0])
print(position[0].strip())
#rstrip,去除字符串右端的换行符,lstrip去除左端的空行和换行符
print(position[0].rstrip())
print(position[0].lstrip())
                                                高级前端开发工程师                                            
高级前端开发工程师

                                                高级前端开发工程师
高级前端开发工程师                                            
for i in range(len(position)):
    position[i]=position[i].strip()
print(position)
['高级前端开发工程师', '前端开发工程师', 'Web前端开发工程师', '前端开发工程师(中高级)', 'Web前端开发工程师(急聘+周末双休)', 'web前端开发工程师(偏react方向)', 'Web前端开发工程师', '前端开发(精通javaScript)', 'Web前端开发工程师', '前端开发负责人—武汉', '前端开发工程师', '前端开发主管', '带薪年假+web前端开发', 'python前端开发', '中级前端开发工程师', '前端开发工程师', 'python前端开发', '前端开发工程师', '前端开发工程师', '前端开发工程师', 'web前端开发实习生+双休+五险一金', 'Web前端开发工程师', '前端开发工程师', 'Web前端开发工程师', 'Web前端开发工程师', '初级web前端开发助理+项目奖', 'web前端开发', '实习web前端开发', '前端开发工程师', '小程序前端开发工程师', '高级前端开发工程师', '前端开发工程师', '前端开发(工作地点:宜昌)', 'WEB前端开发/中级开发', 'Web前端开发工程师', '高级Web前端开发工程师', 'Web前端开发工程师', 'WEB前端开发工程师', 'Web前端开发工程师', '前端开发工程师', 'Web前端开发工程师', 'WEB前端开发助理', 'Web前端开发工程师', 'Web前端开发工程师', '前端开发工程师', 'Web前端开发工程师', '初级前端开发工程师', '高端前端开发', '前端开发', '前端开发工程师', '高级前端开发工程师']
company=root.xpath('//span[@class="t2"]/a/@title')
print(company)
['“前程无忧”51job.com(光谷)', '武汉万般上品信息技术有限公司', '武汉上九利合科技有限公司', '北京美百极致科技有限公司', '武汉捷讯信息技术有限公司', '武汉无线飞翔科技有限公司', '武汉麦诺软创网络科技有限公司', '武汉掌中宝网络科技有限公司', '武汉东天红数字科技有限公司', '中设数字技术股份有限公司', '中普睿云信息科技(武汉)有限公司', '武汉市星商电子商务有限公司', '湖北华奥星空体育产业联盟发展有限公司', '莆田市维诺尔贸易有限公司', '武汉大方汽车租赁有限公司', '光谷金信(武汉)科技有限公司', '福州踏趣百妙商贸有限公司', '武汉璇瑞智佳装饰装修设计工程有限公司', '上海南棠实业有限公司', '湖北长江云新媒体集团有限公司', '武汉华工科固建筑技术工程有限公司', '武汉市软酷网络科技有限公司', '武汉云外恒信息技术有限公司', '武汉北科天翼信息科技股份有限公司', '武汉美美咖科技有限公司', '湖北华体康健康科技有限公司', '武汉科思沃斯教育科技有限公司', '湖北省零度银色冰雪实业有限公司', '熊猫智慧水务有限公司', '武汉文一科技有限公司', '武汉悦然心动网络科技有限公司', '武汉共成联创信息技术有限公司', '宜昌快马仕网络科技有限公司', '前海金信(深圳)科技有限责任公司', '掌淘网络科技(上海)有限公司武汉分公司', '武汉数文科技有限公司', '武汉市胜意科技发展有限公司', '上海幸宜信息科技有限公司武汉分公司', '武汉车边生活科技有限公司', '武汉昊天驰科技有限公司', '武汉同袍网络科技有限责任公司', '武汉智博华鑫网络科技有限公司', '武汉乡聚信息产业有限公司', '深圳市财富趋势科技股份有限公司', '武汉正熙网络科技有限公司', '北京金山办公软件股份有限公司', '上海七圣网络科技有限公司', '武汉般若互动科技有限公司', '武汉炫幕网络科技有限公司', '武汉斗鱼网络科技有限公司', '“前程无忧”51job.com(光谷)']
place=root.xpath('//div[@class="el"]/span[@class="t3"]/text()')
print(place)
['武汉-洪山区', '武汉-武昌区', '武汉-武昌区', '武汉-洪山区', '武汉-洪山区', '武汉-江夏区', '武汉-洪山区', '武汉-武昌区', '武汉-江岸区', '武汉-武汉经济...', '武汉-武昌区', '武汉-洪山区', '武汉-江夏区', '武汉-洪山区', '武汉', '武汉-洪山区', '武汉-洪山区', '武汉-江汉区', '武汉-武昌区', '武汉-武昌区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉', '武汉', '武汉-江汉区', '武汉', '武汉-汉阳区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-汉阳区', '异地招聘', '武汉-洪山区', '武汉-洪山区', '武汉', '武汉-江夏区', '武汉-东湖新技...', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-洪山区', '武汉-江岸区', '武汉-江岸区', '武汉', '武汉-洪山区']
salary=root.xpath('//div[@class="el"]/span[@class="t4"]/text()')
print(salary)
print(len(salary))
['12-18万/年', '0.6-1.5万/月', '0.8-1.2万/月', '1-1.5万/月', '0.7-1.4万/月', '0.6-1.2万/月', '3-7千/月', '0.9-1.3万/月', '6-8千/月', '1.5-2.5万/月', '0.6-1.2万/月', '1-2万/月', '4.5-7.5千/月', '0.6-1.2万/月', '0.7-1万/月', '0.9-1.4万/月', '0.6-1.2万/月', '0.8-1万/月', '5-9千/月', '5-18万/年', '3.5-6千/月', '0.6-1万/月', '0.5-1万/月', '3-5千/月', '1-1.5万/月', '4.5-7千/月', '0.6-1.1万/月', '4.5-7千/月', '0.6-1.5万/月', '6-9千/月', '1.2-2.4万/月', '6.5-8千/月', '4-6千/月', '1.2-2万/月', '1-1.5万/月', '0.7-1.2万/月', '0.9-1.5万/月', '0.7-1.4万/月', '1-2万/月', '6-8千/月', '6-8千/月', '4.5-7.5千/月', '5-8千/月', '0.6-1万/月', '0.8-1.2万/月', '1.5-3万/月', '0.7-1.2万/月', '4-6千/月', '3.5-6千/月', '1.5-2万/月', '12-18万/年']
51
#把取出的信息放在数据框中
from pandas import DataFrame
jobInfo=DataFrame([position,company,place,salary]).T
jobInfo.columns=['职位名','公司名','地点','薪资']
jobInfo.head(10)
职位名	公司名	地点	薪资
0	高级前端开发工程师	“前程无忧”51job.com(光谷)	武汉-洪山区	12-18万/年
1	前端开发工程师	武汉万般上品信息技术有限公司	武汉-武昌区	0.6-1.5万/月
2	Web前端开发工程师	武汉上九利合科技有限公司	武汉-武昌区	0.8-1.2万/月
3	前端开发工程师(中高级)	北京美百极致科技有限公司	武汉-洪山区	1-1.5万/月
4	Web前端开发工程师(急聘+周末双休)	武汉捷讯信息技术有限公司	武汉-洪山区	0.7-1.4万/月
5	web前端开发工程师(偏react方向)	武汉无线飞翔科技有限公司	武汉-江夏区	0.6-1.2万/月
6	Web前端开发工程师	武汉麦诺软创网络科技有限公司	武汉-洪山区	3-7千/月
7	前端开发(精通javaScript)	武汉掌中宝网络科技有限公司	武汉-武昌区	0.9-1.3万/月
8	Web前端开发工程师	武汉东天红数字科技有限公司	武汉-江岸区	6-8千/月
9	前端开发负责人—武汉	中设数字技术股份有限公司	武汉-武汉经济...	1.5-2.5万/月
#51job爬虫总结
#1.导入各种包
import requests
from lxml import etree
from pandas import DataFrame
#确定网址,
url='https://search.51job.com/list/180200,000000,0000,32,9,99,%25E5%2589%258D%25E7%25AB%25AF%25E5%25BC%2580%25E5%258F%2591,2,1.html'
res=requests.get(url)
res.encoding='gbk'
root=etree.HTML(res.text)#调用etree,生成Xpath解析对象
#利用Xpath提取网页信息
position=root.xpath('//p[@class="t1 "]/span/a/@title')
company=root.xpath('//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=['职位名','公司名','地点','薪资']
jobInfo
职位名	公司名	地点	薪资
0	高级前端开发工程师	“前程无忧”51job.com(光谷)	武汉-洪山区	12-18万/年
1	前端开发工程师	武汉万般上品信息技术有限公司	武汉-武昌区	0.6-1.5万/月
2	Web前端开发工程师	武汉上九利合科技有限公司	武汉-武昌区	0.8-1.2万/月
3	前端开发工程师(中高级)	北京美百极致科技有限公司	武汉-洪山区	1-1.5万/月
4	Web前端开发工程师(急聘+周末双休)	武汉捷讯信息技术有限公司	武汉-洪山区	0.7-1.4万/月
5	web前端开发工程师(偏react方向)	武汉无线飞翔科技有限公司	武汉-江夏区	0.6-1.2万/月
6	Web前端开发工程师	武汉麦诺软创网络科技有限公司	武汉-洪山区	3-7千/月
7	前端开发(精通javaScript)	武汉掌中宝网络科技有限公司	武汉-武昌区	0.9-1.3万/月
8	Web前端开发工程师	武汉东天红数字科技有限公司	武汉-江岸区	6-8千/月
9	前端开发负责人—武汉	中设数字技术股份有限公司	武汉-武汉经济...	1.5-2.5万/月
10	前端开发工程师	中普睿云信息科技(武汉)有限公司	武汉-武昌区	0.6-1.2万/月
11	前端开发主管	武汉市星商电子商务有限公司	武汉-洪山区	1-2万/月
12	带薪年假+web前端开发	湖北华奥星空体育产业联盟发展有限公司	武汉-江夏区	4.5-7.5千/月
13	python前端开发	莆田市维诺尔贸易有限公司	武汉-洪山区	0.6-1.2万/月
14	中级前端开发工程师	武汉大方汽车租赁有限公司	武汉	0.7-1万/月
15	前端开发工程师	光谷金信(武汉)科技有限公司	武汉-洪山区	0.9-1.4万/月
16	python前端开发	福州踏趣百妙商贸有限公司	武汉-洪山区	0.6-1.2万/月
17	前端开发工程师	武汉璇瑞智佳装饰装修设计工程有限公司	武汉-江汉区	0.8-1万/月
18	前端开发工程师	湖北长佰网络科技有限公司	武汉-洪山区	0.5-1万/月
19	前端开发工程师	上海南棠实业有限公司	武汉-武昌区	5-9千/月
20	前端开发工程师	湖北长江云新媒体集团有限公司	武汉-武昌区	5-18万/年
21	web前端开发实习生+双休+五险一金	武汉华工科固建筑技术工程有限公司	武汉-洪山区	3.5-6千/月
22	Web前端开发工程师	武汉市软酷网络科技有限公司	武汉-洪山区	0.6-1万/月
23	前端开发工程师	武汉云外恒信息技术有限公司	武汉-洪山区	0.5-1万/月
24	Web前端开发工程师	武汉北科天翼信息科技股份有限公司	武汉	3-5千/月
25	Web前端开发工程师	武汉美美咖科技有限公司	武汉	1-1.5万/月
26	初级web前端开发助理+项目奖	湖北华体康健康科技有限公司	武汉-江汉区	4.5-7千/月
27	web前端开发	武汉科思沃斯教育科技有限公司	武汉	0.6-1.1万/月
28	实习web前端开发	湖北省零度银色冰雪实业有限公司	武汉-汉阳区	4.5-7千/月
29	前端开发工程师	熊猫智慧水务有限公司	武汉-洪山区	0.6-1.5万/月
30	小程序前端开发工程师	武汉文一科技有限公司	武汉-洪山区	6-9千/月
31	高级前端开发工程师	武汉悦然心动网络科技有限公司	武汉-洪山区	1.2-2.4万/月
32	前端开发工程师	武汉共成联创信息技术有限公司	武汉-汉阳区	6.5-8千/月
33	前端开发(工作地点:宜昌)	宜昌快马仕网络科技有限公司	异地招聘	4-6千/月
34	WEB前端开发/中级开发	前海金信(深圳)科技有限责任公司	武汉-洪山区	1.2-2万/月
35	Web前端开发工程师	掌淘网络科技(上海)有限公司武汉分公司	武汉-洪山区	1-1.5万/月
36	高级Web前端开发工程师	武汉数文科技有限公司	武汉	0.7-1.2万/月
37	Web前端开发工程师	武汉市胜意科技发展有限公司	武汉-江夏区	0.9-1.5万/月
38	WEB前端开发工程师	上海幸宜信息科技有限公司武汉分公司	武汉-东湖新技...	0.7-1.4万/月
39	Web前端开发工程师	武汉车边生活科技有限公司	武汉-洪山区	1-2万/月
40	前端开发工程师	武汉昊天驰科技有限公司	武汉-洪山区	6-8千/月
41	Web前端开发工程师	武汉同袍网络科技有限责任公司	武汉-洪山区	6-8千/月
42	WEB前端开发助理	武汉智博华鑫网络科技有限公司	武汉-洪山区	4.5-7.5千/月
43	Web前端开发工程师	武汉乡聚信息产业有限公司	武汉-洪山区	5-8千/月
44	Web前端开发工程师	深圳市财富趋势科技股份有限公司	武汉-洪山区	0.6-1万/月
45	前端开发工程师	武汉正熙网络科技有限公司	武汉-洪山区	0.8-1.2万/月
46	Web前端开发工程师	北京金山办公软件股份有限公司	武汉-洪山区	1.5-3万/月
47	初级前端开发工程师	上海七圣网络科技有限公司	武汉-洪山区	0.7-1.2万/月
48	高端前端开发	武汉般若互动科技有限公司	武汉-江岸区	4-6千/月
49	前端开发	武汉炫幕网络科技有限公司	武汉-江岸区	3.5-6千/月
50	前端开发工程师	武汉斗鱼网络科技有限公司	武汉	1.5-2万/月
#将数据保存到本地
jobInfo.to_csv('51job.csv')

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值