Skip to main content
 首页 » 编程设计

python之拒绝某些网址

2025年05月04日11Leo_wl

我目前正在将 Scrapy 用于我在大学机构存储库上的项目,我需要在其中获取每所大学的外部链接。有没有办法让我拒绝某些 URL,例如“google.com”和“twitter.com”。以下是我目前所拥有的。我是这些的新手,所以任何帮助将不胜感激。谢谢!

 import scrapy  
 
    class UtmSpider(scrapy.Spider): 
        name = 'utm' 
        start_urls = ['http://eprints.utm.my/id/eprint/'] 
 
 
        def start_requests(self): 
            yield scrapy.Request('http://eprints.utm.my/id/eprint/', self.parse) 
 
        def parse(self, response): 
            for href in response.xpath('//a/@href').getall(): 
                yield scrapy.Request(response.urljoin(href), self.parse) 

请您参考如下方法:

如果您的蜘蛛很简单,那么 Swift 的解决方案就可以正常工作。 如果你的蜘蛛/蜘蛛有很多代码,每次你想发出请求时检查 url 会污染你的代码。在这种情况下,您可以使用 DownloaderMiddleware 管道。 https://docs.scrapy.org/en/latest/topics/downloader-middleware.html 如果您搜索“IgnoreRequest”,您会找到有关如何实现能够丢弃某些请求的 DownloaderMiddleware 的说明。