簡體   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