#!/usr/bin/python
# -*- coding: utf-8 -*-
from selenium import webdriver
import xlwt,csv,time
import os
# os.remove('51job爬虫.xls')
startup_Options = webdriver.ChromeOptions()
# 设置无界面模式运行浏览器
startup_Options.add_argument('--headless')
# 设置启动浏览器时窗口最大化运行
startup_Options.add_argument('--start-maximized')
driver = webdriver.Chrome(options=startup_Options)
driver.implicitly_wait(10)
driver.maximize_window()
driver.get('https://www.51job.com/')
driver.find_element_by_css_selector('#kwdselectid').send_keys('python')
driver.find_element_by_css_selector("div[class='ush top_wrap'] button").click()
webElements = driver.find_elements_by_css_selector('div.j_joblist > div.e')
'''
for循环实现列表推导式
for webElement in webElements:
resutlist = []
fields = webElement.find_elements_by_css_selector('span')
for field in fields:
resutlist.append(field.text)
print(resutlist)
'''
for webElement in webElements:
rows = []
fields = webElement.find_elements_by_css_selector('span')
resultlist = [field.text for field in fields]
print(resultlist)
# 列表推导式
# resultlist = [field.text for field in fields]
data = {
"职位名称": resultlist[0],
"发布日期": resultlist[1],
"薪资待遇": resultlist[2],
"工作要求": resultlist[3],
"福利待遇": resultlist[4]
}
rows.append(data)
filepath = '51job招聘信息.csv'
with open(filepath,'w',newline='',encoding='utf-8') as f:
f_csv = csv.DictWriter(f,fieldsnames=
["职位名称",
"发布日期",
"薪资待遇",
"工作要求",
"福利待遇"
]
)
f_csv.writeheader()
f_csv.writerows(rows)
driver.quit()