Scrapy:Spidering超出了最初的网站

时间:2016-06-26 02:54:12

标签: scrapy scrapy-spider

我尝试构建一个非常简单的抓取工具来启动某个网站,并且不仅抓取该网站,还抓取外部链接(最终从起始网站扩展 n 网站) )。目前,它确实击中了外部链接并拉出了第一个链接页面,但我无法超越它。

这是我现在的蜘蛛:

import scrapy
import json
from seocrawler.items import SeocrawlerItem
from scrapy.contrib.spiders import CrawlSpider

class SeocrawlerSpider(CrawlSpider):
    name = "seocrawler_spider"
    start_urls =  ['http://www.example.com/']

    def parse(self, response):
        for href in response.css("a::attr('href')"):
            url = response.urljoin(href.extract())
            yield scrapy.Request(url, callback=self.parse_page)

        next_url = response.css(
            "a::attr('href')"
            ).extract_first()
            if next_url:
                yield scrapy.Request(next_url, callback=self.parse) 

    def parse_page(self, response):
        item = SeocrawlerItem()
        item['page_link'] = response.url
        item['page_title'] = response.xpath('/html/head/title/text()').extract()
        item['page_meta_description'] = response.xpath('/html/head/meta[@name="description"]/@content').extract()
        item['page_h1'] = response.xpath('//h1/text()').extract()
        yield item

我已经尝试将DEPTH_LIMIT设置为0并设置为较高的数字,但它似乎并没有影响它。无论如何,request_depth_max都会被报告为1。

我在这里缺少什么?

0 个答案:

没有答案