爬虫项目实战2.1 Selenium爬取Boss招聘信息

完成:

1.爬取信息

2.基于爬取结果筛选符合条件的信息

   岗位名称、薪资、岗位要求、地区、公司名称、公司规模、细节链接

3.筛选base杭州的岗位保存到csv文件中

"""
[课   题]: Python爬取boss直聘
[开发环境]:
	python 3.8
	pycharm 专业版
	selenium3.141.0

代码编写思路
1. 打开一个浏览器
2. 打开一个网址
3. 获取数据
4. 保存数据
"""


from selenium import webdriver      # 操作浏览器的类
import csv

f = open('boss-杭州.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['岗位名称', '薪资待遇', '岗位详情', '岗位地区', '公司福利', '公司名称', '公司规模', '岗位需要技能', '岗位详情链接'])
# 1. 打开一个浏览器
driver = webdriver.Edge()#Edge浏览器
# driver = webdriver.Chrome()#谷歌浏览器
for page in range(1, 11):
    # 2. 打开一个网址
    driver.get(r'https://www.zhipin.com/web/geek/job?query=数据分析&city=100010000&page='+str(page))
    # 等待10秒
    driver.implicitly_wait(10)
    # 3. 获取数据 定位数据
    # 获取到所有的商品信息,selector定位关键信息所在区域:.job-card-wrapper,复制选项可以定位到具体标签
    lis = driver.find_elements_by_css_selector('.job-card-wrapper')
    # 二次提取岗位具体信息,将位于杭州的岗位保存在csv中
    for li in lis:
        job_name = li.find_element_by_css_selector('.job-name').text
        salary = li.find_element_by_css_selector('.salary').text
        tag_list = li.find_element_by_css_selector('.tag-list').text
        job_area = li.find_element_by_css_selector('.job-area').text
        info_desc = li.find_element_by_css_selector('.info-desc').text
        company_name = li.find_element_by_css_selector('.company-name').text
        company_tag_list = li.find_element_by_css_selector('.company-tag-list').text
        job_need = li.find_element_by_css_selector('.job-card-footer.clearfix ul').text.split('|')
        job_url = li.find_element_by_css_selector('.job-card-body.clearfix a').get_attribute('href')
        # print(job_name, job_area, salary, tag_list, company_name, company_tag_list, info_desc)
        # 4. 保存数据
        if '杭州' in job_area:
            csv_writer.writerow([job_name, salary, tag_list, job_area,  info_desc, company_name, company_tag_list, job_need, job_url])

But容易出现网络不稳定造成的无法定位元素所在位置的情况,小范围爬取可以

4.基于csv分析后续