scrapy框架开发爬虫实战——采集BOSS直聘信息【爬虫进阶】

本文介绍了如何使用scrapy框架开发爬虫,详细讲解了从创建项目、定义爬取字段、处理请求头和cookie、解析分页数据到存储MongoDB的全过程,最终将代码托管到GitHub。
摘要由CSDN通过智能技术生成

项目GitHub

https://github.com/liuhf-jlu/scrapy-BOSS-

爬取任务

时间:2019年8月28日

爬取内容:BOSS直聘上的北京市python岗位的招聘信息

链接:https://www.zhipin.com

创建项目

#创建项目
scrapy startproject BJ

创建爬虫

#进入项目目录下
cd BJ
#创建爬虫 scrapy genspider [爬虫名称][爬取范围]
scrapy genspider boss_zhipin 'zhipin.com'

scrapy.cfg 项目配置文件
items.py 数据存储模板,用于结构化数据
pipelines.py 数据处理
settings.py 配置文件
middlewares.py 定义项目中间件
spiders 爬虫目录

明确爬虫需求,设计爬虫代码

1、定义入口URL,start_urls

起始页

请稍后

第一页

请稍后

第二页

请稍后

第三页

请稍后

下一页按钮的链接

https://www.zhipin.com/c101010100/?query=python&page={}&ka=page-next

通过上面可以发现url的变化规律即翻页规律,定义爬虫的start_urls=第一页的链接。

start_urls = ['https://www.zhipin.com/c101010100/?query=python&page=1&ka=page-1']

2、items定义我们要爬取的字段(以后还可以扩充)

# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html

import scrapy


class BjItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    job_title = scrapy.Field()  # 岗位
    compensation = scrapy.Field()  # 薪资
    company = scrapy.Field()  # 公司
    address = scrapy.Field()  # 地址
    seniority = scrapy.Field()  # 工作年薪
    education = scrapy.Field()  # 教育程度
    company_type = scrapy.Field()  # 公司类型
    company_finance &
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值