Scrapy:boos直聘爬虫案例

本文档介绍了如何使用Scrapy框架创建一个针对Boos直聘网站的爬虫。从启动项目开始,逐步讲解了爬虫代码的编写,包括设置settings.py,定义items.py,实现pipelines.py以及自定义middlewares.py。特别是,文章中提到了如何处理代理IP,通过创建models.py来管理代理库并检查其过期时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建爬虫

scrapy startproject boos

cd boos

scrapy gensipder -t crawl zhiping “zhipin.com”

爬虫代码

# -*- coding: utf-8 -*-
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from pa_chong.Scrapy.boos.boos.items import BoosItem


class ZhipingSpider(CrawlSpider):
    name = 'zhiping'
    allowed_domains = ['zhipin.com']
    start_urls = ['https://www.zhipin.com/c100010000/?query=python&page=1']

    rules = (
        # 匹配职位列表页url规则
        Rule(LinkExtractor(allow=r'.+\?query=python&page=\d'), follow=True),

        # 匹配职位详情页url规则
        Rule(LinkExtractor(allow=r'.+job_detail/.+~\.html'), callback='parse_job', follow=False),
    )

    # 解析职位详情
    def parse_job(self, response):
        title = response.xpath('//div[@class="name"]/h1/text()').get().strip()
        salary = response.xpath('//span[@class="badge"]/text()').get().strip()
        job_info = response.xpath('//div[@class="job-primary detail-box"]/div{@class="info-primary"]/p//text()').getall()
        city = job_info[0]
        work_years = job_info[1]
        education = job_info[2]
        company = response.xpath('//div[@class="info-company"]/h3[@class="name"]/a/text()').get().strip()

        itme = BoosItem(title=title, salary=salary, city=city, work_years=work_years, education=education, company=company)
        return itme

修改settings.py代码

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

旧人小表弟

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值