爬虫与数据分析项目实战2.1 Selenium爬取Boss招聘信息
完成:
1.爬取信息
2.基于爬取结果筛选符合条件的信息
岗位名称、薪资、岗位要求、地区、公司名称、公司规模、细节链接
3.筛选base杭州的岗位保存到csv文件中
"""
[课 题]: Python爬取boss直聘
[开发环境]:python 3.8pycharm 专业版selenium3.141.0代码编写思路
1. 打开一个浏览器
2. 打开一个网址
3. 获取数据
4. 保存数据
"""from selenium import webdriver # 操作浏览器的类
import csvf = 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').textsalary = li.find_element_by_css_selector('.salary').texttag_list = li.find_element_by_css_selector('.tag-list').textjob_area = li.find_element_by_css_selector('.job-area').textinfo_desc = li.find_element_by_css_selector('.info-desc').textcompany_name = li.find_element_by_css_selector('.company-name').textcompany_tag_list = li.find_element_by_css_selector('.company-tag-list').textjob_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分析后续
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
