【爬虫】牛客网简易爬虫(一)看看哪些开始秋招的公司你还没看

目录

一、需求

二、简单网站分析

三、代码

四、代码输出


 

在 牛客网--求职--校招日程 可以看到秋招的互联网公司。不过里面有一些是亮的就是已开始,灰的就是还没开始或者已经结束。如下图。

一、需求

博主在看完一家公司后,都会把它记在excel中的“已看”列,代表这家公司我已经看过。如下图,只截取部分。注意添加在excel的时候要是公司全名不然后面会很难受哈哈。

然后我现在要看看那些亮的那些我还没看过怎么办呢?很简单,把亮的公司拿到然后再减去excel的“已看过”这列,剩下的就是我还没看的。

 

二、简单网站分析

网址是这样的,手机版的

我们来F12+刷新看下。

 

看看xhr中有什么,哦,只有这个。

看看返回的json

再展开发现这些里面装的都是公司信息

name那里就是公司名字,经分析,end等于1或者0,等于1的时候是说明公司是“亮的”,等于0的时候说明公司是“暗的”

所以我们只要把end=0的所有公司名字取出来就好了。

然后在request header 得到请求的url是这样的。

就是https://m.nowcoder.com/school/schedule 加上xhr中文件的名字。经测试不用包装header就可以得到数据。

 

三、代码

import requests
import json
import pandas as pd

def spider(your_url,excel_path):
    s = requests.Session()
    r = s.get(your_url)
    raw_datas =  json.loads(str(r.text))
    company = pd.read_excel(io=path,header=0)
    company['已看过'] = company['已看过'].astype(str)
    checked_company = list(company['已看过'])
    light_company = []
    for raw_data in raw_datas['data']['companies']:
        if raw_data['end'] == 0:
            # print('{}'.format(raw_data['name']))
            light_company.append(raw_data['name'].upper())
    for checked in checked_company:
        if checked.upper() in light_company:
            light_company.remove(checked.upper())
    print(f'你还没看的公司有{len(light_company)}家,如下:\n{light_company}')

 

四、代码输出

不过,想完成这个,首先你得有个excel记录你看过的公司- - 而且你看过一个新的后,你就把它添加进“已看过”那一列。完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值