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

该代码示例使用Python3.8和Selenium3.141.0爬取Boss直聘网站上的数据分析岗位信息,针对杭州地区的职位,筛选出岗位名称、薪资、要求等详细信息,并保存到CSV文件中。程序会打开Edge或Chrome浏览器,访问特定URL,抓取每个职位的多个属性,并在遇到网络不稳定导致的元素定位问题时仍能进行小范围爬取。
摘要由CSDN通过智能技术生成

完成:

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分析后续

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值