通过selenium自动化爬取51.job的职位信息。期间因为对csv的写入不是很了解,耗费了好多时间,后来才发现是对齐方式弄错了。真是什么问题都会遇到。问题自己解决后还是感觉挺有收获的,对这几天学习的定位方式有了新的理解,同时对页面跳转以及如何跳转回当前页面有有了新的认识。详细代码如下:
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
'''使用selenium爬取51.job网站的职位信息,并将爬取职位信息结果保存在csv文件中'''
from selenium import webdriver
import time
import csv
class QCWY(object):
def __init__(self,keyword,city,maxpagenum):
self.keyword = keyword
self.city = city
self.maxpagenum = maxpagenum
def run(self):
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('http://www.51job.com')
# 输入关键字
driver.find_element_by_id('kwdselectid').send_keys(self.keyword)
# 输入城市
driver.find_element_by_id('work_position_input').click()
# 等待1s 确保页面稳定
time.sleep(1)
# 点击上方已经选中的城市,即取消选中的默认城市
selectCityEles = driver.find_elements_by_css_selector('#work_position_click_multiple_selected>span')
for el in selectCityEles:
el.click