副标题[/!--empirenews.page--]
本文主要用Python爬取拉勾网不同编程语言职位信息,包括:Python岗、Java岗、C++岗、PHP岗、C#岗位(5岗);用R语言对影响薪资的因素进行分析。由于拉勾网的职位信息只显示30页,一页15个职位信息,如果单独爬取一个城市的岗位信息,只有几页是匹配的信息,信息量太小,分析没有说服力。因此,本文爬取拉勾网全国职位信息。主要三部分内容:
- 爬取拉勾网5岗职位信息--以Python岗为例
- 以Python岗位信息为例,分析影响薪资的因素
- 5岗之间薪水因素影响比较分析
一、爬取拉勾网5岗职位信息--以Python岗为例
我们抓取的信息包括Python岗位名称、公司名称、薪资、工作经验、学历、公司规模、公司福利。

- ##以python岗位为例,运用selenium+Chrome()爬取岗位信息
- # coding=UTF-8
- from lxml import etree
- from selenium import webdriver
- import time
- import csv
-
- browser = webdriver.Chrome()
- browser.get('https://www.lagou.com/jobs/list_PYTHON?px=default&city=%E5%85%A8%E5%9B%BD#filterBox')
- browser.implicitly_wait(10)
-
- def get_dates(selector):
- items = selector.xpath('//*[@id="s_position_list"]/ul/li')
- for item in items:
- yield {
- 'Name': item.xpath('div[1]/div[1]/div[1]/a/h3/text()')[0],
- 'Company': item.xpath('div[1]/div[2]/div[1]/a/text()')[0],
- 'Salary': item.xpath('div[1]/div[1]/div[2]/div/span/text()')[0],
- 'Education': item.xpath('div[1]/div[1]/div[2]/div//text()')[3].strip(),
- 'Size': item.xpath('div[1]/div[2]/div[2]/text()')[0].strip(),
- 'Welfare': item.xpath('div[2]/div[2]/text()')[0]
- }
- def main():
- i = 0
- for i in range(30):
- selector = etree.HTML(browser.page_source)
- browser.find_element_by_xpath('//*[@id="order"]/li/div[4]/div[2]').click()
- time.sleep(5)
- print('第{}页抓取完毕'.format(i+1))
- for item in get_dates(selector):
- print(item)
- with open('Py.csv', 'a', newline='') as csvfile: ##Py.csv是文件的保存路径,这里默认保存在工作目录
- fieldnames = ['Name', 'Company', 'Salary', 'Education', 'Size', 'Welfare']
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for item in get_dates(selector):
- writer.writerow(item)
- time.sleep(5)
- browser.close()
- if __name__=='__main__':
- main()
(编辑:好传媒网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|