繁体   English   中英

Web 使用 Scrapy 在链接内抓取

[英]Web Scraping within Links using Scrapy

我正在从一个有几页数据的网站上抓取信息。 在每次抓取中,我都提取了一些信息。 但是,我还想在我正在抓取的链接中的 go 并从那里抓取信息,然后返回站点并继续抓取。 我将如何使用 Scrapy 做到这一点?

您可以使用递归来实现所需的目标。 首先抓取一个起始链接,然后递归迭代其中的链接,然后继续。 请注意,这种递归可能需要很长时间,并且在某些情况下最终可能会禁止您的爬虫 尝试将递归深度限制为 2 或 3。

代码片段:

from scrapy.linkextractors import LinkExtractor
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.item import Item, Field
from scrapy.http import Request

class MyItem(Item):
    url= Field()

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

    rules = (Rule(LinkExtractor(), callback='parse_url', follow=False), )

    def parse_url(self, response):
        item = MyItem()

        ## Do your processing here

        item['url'] = response.url
        request = Request(response.url)
        yield request

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM