Scrapy框架--通用爬虫Broad Crawls(下,具体代码实现)

通过前面两章的熟悉,这里开始实现具体的爬虫代码

广西人才网

以广西人才网为例,演示基础爬虫代码实现,逻辑:

  • 配置Rule规则:设置allow的正则-->设置回调函数
  • 通过回调函数获取想要的信息
    具体的代码实现:

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule


class GxrcSpider(CrawlSpider):
    name = 'gxrc'
    allowed_domains = ['www.gxrc.com']
    start_urls = ['http://www.gxrc.com/']

    rules = (
        Rule(LinkExtractor(allow=r'WebPage/Company.*'),follow=True,callback='parse_company'),  # 配置公司正则
        Rule(LinkExtractor(allow=r'WebPage/JobDetail.*'), callback='parse_item', follow=True),  # 配置职位正则
    )

    def parse_item(self, response):
        """ 获取职位信息 """
        i = {}
        i['job_name'] = response.css('h1#positionName::text').extract_first("")  # 职位名称

        return i

    def parse_company(self, response):
        """ 获取公司信息 """
        i = {}
        i['company_name'] = response.css('.inner h1::text').extract_first("")  # 公司名称

        return i

这样即可完成基础的正则和信息抓取工作,至于Item和Pepiline和之前的写法一样。


上一篇:Java陷阱——慎用入参做返回值


下一篇:【新功能】开通ECS以及云盘时“一键启用自动快照策略”,再也不用担心数据漏备份了