风尘岁月 发表于 2020-8-6 14:59:20

爬取BOSS直聘

本帖最后由 风尘岁月 于 2020-8-6 15:03 编辑

最近闲的无聊 jio的BOSS有点难度 然后拿来练手{:10_334:}
废话少说上代码
{:10_256:}
注意:
一定要用代理IP
sleep缓冲锁请调大一点

如果没有代理IP 可以参考一下我的这篇帖子:https://fishc.com.cn/thread-176757-1-1.html





from requests import get
import parsel
from time import sleep

for page in range(1,1000):
    print('\n##########正在下载第{}页数据##########\n'.format(page))
    base_url = 'https://www.zhipin.com/c100010000-p100109/?page={}&ka=page-{}'.format(page,page)
    if page>1:
      sleep(20)

    cookie ''
    headers = {
      'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
      'cookie': cookie,
    }

    html_data = get(url=base_url,headers=headers).text


    selector = parsel.Selector(html_data)
    result_list = selector.css("#main > div > div.job-list > ul > li")
    for sel in result_list:
      Job_benefits = sel.css("div > div.info-append.clearfix > div.info-desc ::text").extract_first() #工作福利

      job_name = sel.css("div > div.info-primary > div.primary-wrapper > div > div.job-title > span.job-name > a ::text").extract_first()

      Working_data_1 = sel.css("div > div.info-append.clearfix > div.tags > span:nth-child(1) ::text").extract_first() #工作数据_1
      Working_data_2 = sel.css("div > div.info-append.clearfix > div.tags > span:nth-child(2) ::text").extract_first()# 工作数据_2
      Working_data_3 = sel.css("div > div.info-append.clearfix > div.tags > span:nth-child(3) ::text").extract_first()# 工作数据_3
      Working_data_4 = sel.css("div > div.info-append.clearfix > div.tags > span:nth-child(4) ::text").extract_first()# 工作数据4
      Working_data_5 = sel.css("div > div.info-append.clearfix > div.tags > span:nth-child(5) ::text").extract_first()# 工作数据_5
      Working_data = str(str(Working_data_1) + ' ' + str(Working_data_2) + ' ' + str(Working_data_3) + ' ' + str(Working_data_4) + ' ' + str(Working_data_5))

      employer = sel.css("div > div.info-primary > div.info-company > div > h3 > a ::text").extract_first()


      work_place = sel.css("div > div.info-primary > div.primary-wrapper > div > div.job-title > span.job-area-wrapper > span ::text").extract_first() #工作地点

      work_money = sel.css("div > div.info-primary > div.primary-wrapper > div > div.job-limit.clearfix > span ::text").extract_first() #工资

      Job_requirements_1 = sel.xpath('./div/div/div/div/div/p/text()').extract_first() #工作要求_1
      Job_requirements_2 = sel.xpath('./div/div/div/div/div/p/text()').extract_first() #工作要求_2
      Job_requirements = str(Job_requirements_1 + ' ' + Job_requirements_2)

      #print(Job_requirements)




      job_data = {
            '工作': job_name,
            '工作要求': Job_requirements,
            '工资': work_money,
            '雇主': employer,
            '工作数据': Working_data,
            '工作地点': work_place,
            '工作福利': Job_benefits,

      }



      with open('job_data.csv',mode='a+',encoding='utf-8') as f:
            job_data_write = str(job_data)
            f.write(job_data_write+'\n')
            print('保存完成:',job_data)



以后我有不懂 会向各位继续学习 请教的{:10_254:}


希望大家



如果想测试记得评分哦{:10_281:}





xiaosi4081 发表于 2020-8-6 15:01:45

1000页,oh my god!!{:10_245:}

风尘岁月 发表于 2020-8-6 15:03:54

xiaosi4081 发表于 2020-8-6 15:01
1000页,oh my god!!

BOSS的末尾页数我也不知道啊

风尘岁月 发表于 2020-8-6 15:04:35

xiaosi4081 发表于 2020-8-6 15:01
1000页,oh my god!!

{:10_311:}

风尘岁月 发表于 2020-8-6 15:07:47

xiaosi4081 发表于 2020-8-6 15:01
1000页,oh my god!!

其实"斗图啦"的网页页数比我多多了{:10_275:}

风尘岁月 发表于 2020-8-6 19:19:17

xiaosi4081 发表于 2020-8-6 15:01
1000页,oh my god!!

其实测试完毕 BOSS也才10页数据
页: [1]
查看完整版本: 爬取BOSS直聘