爬虫基础系列BeautifulSoup实战——爬取新乡人才网
2019-05-22 本文已影响2人
猛犸象和剑齿虎
8586231_192932724000_2.jpg
目标网址:新乡人才网招聘信息
爬取步骤:
- 获取7页的url网页
- BeautifulSoup解析出分招聘信息链接地址
- xpath取出具体信息。(beautiful模块在处理信息时确实不方便)
- 写爬虫
from bs4 import BeautifulSoup
from urllib import request
import urllib
from lxml import etree
#目标网页
# 新乡人才网http://www.xxjob.cn/Comphtml/前7页招聘信息
# 准备请求头信息
headers={'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
#分析网页规律
# 第二页http://www.xxjob.cn/comphtml/index/p/2
# 第三页http://www.xxjob.cn/comphtml/index/p/3
for i in range(1,7):
url='http://www.xxjob.cn/comphtml/index/p/'+str(i)
response=request.Request(url,headers=headers)
data=request.urlopen(response).read().decode()
# print(data)
soup=BeautifulSoup(data,'lxml')
#<a class="companyname" href="/comphtml/show_113490.html" target="_blank" title="新乡市海佳软件有限公司">新乡市海佳软件有限公司</a>
name=soup.select('h4 a[class="companyname"]')
# print(name)
for n in name:
myurl='http://www.xxjob.cn'+n.attrs['href']
# print(myurl)
res=request.Request(myurl,headers=headers)
data2=request.urlopen(res).read().decode()
# print(data2)
html=etree.HTML(data2)
result1=html.xpath('//div[@class="content"]')
result2=html.xpath('//div/h2[@id="company-name"]')
result3=html.xpath('//thead/tr/th')
result4=html.xpath('//tbody/tr/td/a')#职务
# <td class="text-right">10人</td>
result5=html.xpath('//td[@class="text-right"]')#人数
result6=html.xpath('//em[@class="has_desc"]')#月薪
result7=html.xpath('//tbody/tr/td')#工作经验#地点#更新时间
print(result2[0].text)
print(result1[0].text)
print(result3[0].text,result3[1].text,result3[2].text,result3[3].text,result3[4].text,result3[5].text)
for x in range(len(result4)):
print(result4[x].text,result5[x].text)
print('---------------------------------------------------')
结果:
---------------------------------------------------
河南中兵重工机械有限公司
None
职务 人数 月薪 工作经验 工作地点 更新时间
人事专员 1人
数控、加工中心学员 10人
项目经理 不限
副总经理 不限
总经理助理 1人
工艺,技术员 4人
三四五轴加工中心编程、操机员(含学徒) 20人
数控车工(含学徒) 50人
人事经理 1人
业务经理. 跟单员 外协 司机 2人
仓管· 不限
磨工,钳工,铣工.线切割。 1人
生产调度 1人