scrapy由浅入深(二) 爬取51job职位薪资信息

        上次的爬虫只是爬取了CSDN论坛的问题数据,相对来说比较简单,本篇文章来介绍一下爬取51job网站,获取它的职位,薪资,职位要求等信息。

        代码思路:1.首先获取到种子网页的所有职位的url,以及下一页的url。2.通过抽取到的职位的url来依次请求相应职位的详细信息,包括薪资,职位要求等。3.定义解析数据的函数,通过xpath或者css选择器获取到职位薪资信息。4.请求第一步中获取到的下一页的网址,对下一页的网址进行分析,抽取出url,再依次分析。5.将数据保存到数据库。

1.创建项目

scrapy startproject wuyou

创建一个名称为wuyou的项目,爬取前程无忧网站的职位信息。

手动在spiders文件夹下创建一个job_spider.py文件,用来实现爬虫主要逻辑。

二.配置项目

(1)编写items文件

import scrapy


class WuyouItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    title = scrapy.Field()
    salary = scrapy.Field()
    profile = scrapy.Field()

我在这里定义了三个字段,分别对应职位名称,薪资,职位要求。

(2)编写pipelines文件

import sqlite3
db = sqlite3.connect("./../jobs.db")
cursor = db.cursor()

class WuyouPipeline(object):
    def process_item(self, item, spider):
        cursor.execute("insert into job(title, salary, profile) values (?,?,?)",(item["title"],item["salary"],item["profile"]))
        db.commit()

将数据保存在sqlite数据库中,也可以保存在MySQL数据库中,写法类似。

(3)配置settings文件

启用管道文件

ITEM_PIPELINES = {
   'wuyou.pipelines.WuyouPipeline': 300,
}

启用下载延迟

DOWNLOAD_DELAY = 3
RANDOMIZE_DOW
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值