应届生爬虫-仅供学习使用
今天我们进行学习的目标网站是应届生
我们话不多说,直接进入爬虫学习。
经过我们的仔细分析,应届生这个网站是一个静态网站,数据在源码里面都能看到。这个网站没什么难点,不过比较狗的是,应届生的详情页有两种,一不小心就会踩到坑里面去。
详情页一:

详情页二:

既然我们提前知道了这个坑,要解决就简单了,我们只要把两个页面的数据提取语法都写出来,用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(

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

被折叠的 条评论
为什么被折叠?



