登录 http://www.51job.com
点击高级搜索
输入搜索关键词 python
地区选择 杭州
职能类别 选 计算机软件 -> 高级软件工程师
公司性质选 外资 欧美
工作年限选 1-3 年
搜索最新发布的职位, 抓取页面信息。 得到如下的格式化信息
Python开发工程师 | 杭州纳帕科技有限公司 | 杭州 | 0.8-1.6万/月 | 04-27
Python高级开发工程师 | 中浙信科技咨询有限公司 | 杭州 | 1-1.5万/月 | 04-27
from selenium import webdriver
driver = webdriver.Chrome(r"D:for myselfGoogleChromeApplicationchromedriver.exe")
driver.implicitly_wait(10)
driver.get('http://www.51job.com')
#点击高级搜索
driver.find_element_by_css_selector('.ush>a').click()#('a[href$='advance_search.php']')
#输入关键词
driver.find_element_by_id('kwdselectid').send_keys('python')
#选择城市
driver.find_element_by_id('work_position_click').click()
import time
time.sleep(6)
#在城市中选择杭州
'''driver.find_element_by_id('work_position_click_center_right_list_category_000000_080200').click()
driver.find_element_by_id('work_position_click_bottom_save').click()
#点击取消不是杭州的城市有难度!
selectedCityEles = driver.find_elements_by_css_selector('#work_position_click_center em[class=on]')
for one in selectedCityEles:
one.click()
#点击确定保存城市
driver.find_element_by_id('work_position_click_bottom_save').click()'''
cityEles = driver.find_elements_by_css_selector('#work_position_click_center_right_list_000000 em')
for city in cityEles:
cityName = city.text#打印城市名字
selected = city.get_attribute('class')=='on'#判断
if (cityName == '杭州'and not selected)or
(cityName !='杭州' and selected):#城市名字是杭州没有被点击或者城市名字不是杭州被点击了
city.click()
# 保存城市选择
driver.find_element_by_id('work_position_click_bottom_save').click()
#选择职能类别有遮挡 需要点击一下其他地方这里选择点击高级搜索这个字体
driver.find_element_by_css_selector('.tit').click()
#在高级搜索点击职能类别
driver.find_element_by_id('funtype_click').click()
#在职能类别选择计算机软件及高级软件工程师并且确定
driver.find_element_by_id("funtype_click_center_right_list_category_0100_0100").click()
driver.find_element_by_id('funtype_click_center_right_list_sub_category_each_0100_0106').click()
driver.find_element_by_id('funtype_click_bottom_save').click()
#在高级搜索选择公司性质 外资
driver.find_element_by_id('cottype_list').click()
driver.find_element_by_css_selector('#cottype_list span.li[data-value="01"]').click()
#工作年限1—3
driver.find_element_by_id('workyear_list').click()
driver.find_element_by_css_selector('#workyear_list span.li[data-value="02"]').click()
#点击搜索
driver.find_element_by_css_selector("span.p_but[onclick*='kwdGoSearch']").click()
#搜索结果页面
jobs = driver.find_elements_by_css_selector('#resultList div[class=el]')
for job in jobs:
fields = job.find_elements_by_tag_name('span')
stringFilelds = [field.text for field in fields]
print (' | '.join(stringFilelds))
driver.quit()