Python实战项目之前程无忧招聘信息获取
Python实战项目之前程无忧招聘信息获取
实例功能说明:Python+lxml+Selenium解析获取前程无忧搜索Python关键字首页信息并以CSV文件格式存储到本地
1、安装所需库:selenium,lxml
2、准备chromedriver.exe驱动工具
3、代码实现
Keyword="Python"
#浏览器驱动实例化
drivers=webdriver.Chrome(executable_path=webdriver_path)
#窗口最大化
drivers.maximize_window()
#请求访问前程无忧
drivers.get("https://www.51job.com/")
time.sleep(2)
#点击选择城市
drivers.find_element_by_id("work_position_input").click()
time.sleep(2)
#取消预选择城市
drivers.find_element_by_xpath("//div[@id='work_position_click_multiple_selected']/span[@class='ttag']").click()
time.sleep(2)
#重新选择深圳
drivers.find_element_by_xpath("//div[@class='work_position_click_center_right_list de d3']//em[@id='work_position_click_center_right_list_category_000000_040000']").click()
# 选择确定按钮
drivers.find_element_by_xpath("//div[@class='but_box']//span[@class='p_but']").click()
#输入搜索关键字
drivers.find_element_by_id("kwdselectid").send_keys(Keyword)
time.sleep(2)
drivers.find_element_by_xpath("//div[@class='ush top_wrap']/button").click()
time.sleep(2)
html = etree.HTML(drivers.page_source)
joblists = html.xpath("//div[@class='dw_table']//div[@class='el']")
header = ['职位名', '公司名', '薪资', '工作地点', '详情页面']
with open("qianchengwuyou.csv", "a+", encoding='gbk',newline='\n') as fp:
writer = csv.writer(fp)
writer.writerow(header)
for joblist in joblists:
jobinfo = []
jobname = "".join(joblist.xpath("./p//a//@title"))
jobnamelink = "".join(joblist.xpath("./p//a//@href"))
jobcompanys ="".join(joblist.xpath("./span[@class='t2']/a/text()"))
jobpay = "".join(joblist.xpath("./span[@class='t4']/text()"))
jobaddr = "".join(joblist.xpath("./span[@class='t3']/text()"))
jobinfo.append(jobname)
jobinfo.append(jobcompanys)
jobinfo.append(jobpay)
jobinfo.append(jobaddr)
jobinfo.append(jobnamelink)
with open("qianchengwuyou.csv", "a+", encoding='gbk',newline='\n') as fp:
writer = csv.writer(fp)
writer.writerow(jobinfo)
获取效果