赞
踩
完成:
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分析后续
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。