美文网首页
Scrapy框架--通用爬虫Broad Crawls(下,具体代

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

作者: 中乘风 | 来源:发表于2018-07-13 16:40 被阅读0次

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

    广西人才网

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

    • 配置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和之前的写法一样。


    相关文章

      网友评论

          本文标题:Scrapy框架--通用爬虫Broad Crawls(下,具体代

          本文链接:https://www.haomeiwen.com/subject/jxkspftx.html