应届生爬虫

本文详细介绍了如何使用Python爬取应届生网站上的招聘信息,包括数据提取、翻页处理及保存至CSV文件的全过程。

应届生爬虫-仅供学习使用

今天我们进行学习的目标网站是应届生
我们话不多说,直接进入爬虫学习。

经过我们的仔细分析,应届生这个网站是一个静态网站,数据在源码里面都能看到。这个网站没什么难点,不过比较狗的是,应届生的详情页有两种,一不小心就会踩到坑里面去。
详情页一:
在这里插入图片描述
详情页二:
在这里插入图片描述
既然我们提前知道了这个坑,要解决就简单了,我们只要把两个页面的数据提取语法都写出来,用if进行判读,就可以确保万无一失了。
例如提取职位名称:

        #职位名称
        job_name = html.xpath("//div[@class='main']/div[@class='section'][2]/h2/a[1]/text()").get()
        if job_name:
            job_name = job_name
        else:
            job_name = html.xpath("//div[@class='info clearfix']/ol/li[5]/u/text()").get()

这样,我们可以提取到正确的数据,不怕提取到的数据为空了。
具体的字段提取我们在这里就不一一介绍,后面会给出源码。
我们来看看这个网站的翻页:
这个是第一页:
https://s.yingjiesheng.com/search.php?word=%E5%A4%A7%E6%95%B0%E6%8D%AE&sort=score&start=0
这个是第二页:
https://s.yingjiesheng.com/search.php?word=%E5%A4%A7%E6%95%B0%E6%8D%AE&sort=score&start=10
这个是第三页:
https://s.yingjiesheng.com/search.php?word=%E5%A4%A7%E6%95%B0%E6%8D%AE&sort=score&start=20

对比这三个页面的链接,机智的同学一眼就看出来了,不同的是‘start=10/20/30‘的区别,没错,这个就是控制着翻页的关键点。我们只要利用for循环进行遍历,就可以轻松实现对数据的翻页了:

    for i in range(0,19990,10): #构建翻页
        print('正在获取第{}条数据,请稍等...'.format(i+1))
        time.sleep(1) #沉睡,防止速度过快被识别
        url = 'https://s.yingjiesheng.com/search.php?word=%E5%A4%A7%E6%95%B0%E6%8D%AE&sort=score&start={}'.format(i) #每一页的链接

最后,把我们所抓取的数据保存到csv文件就可以了。
下面,我们给出应届生爬虫的全部代码:

#author:渔戈

#导入程序所需的库
import requests
import parsel
import time
import csv
#构建头部信息
headers = {
   
   
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'
}

#存储数据为csv文件
fp = open(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渔戈

创作不易,如有帮助,请鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值