Python Scrapy:allowed_domains从数据库添加新域

2024-05-20

我需要向 allowed_domains 添加更多域,因此我没有收到“已过滤的异地请求”。

我的应用程序获取从数据库获取的网址,因此我无法手动添加它们。

我试图覆盖蜘蛛init

像这样

 def __init__(self):
        super( CrawlSpider, self ).__init__()
        self.start_urls = []
        for destination in Phpbb.objects.filter(disable=False):
                self.start_urls.append(destination.forum_link)

            self.allowed_domains.append(destination.link)

start_urls 很好,这是我要解决的第一个问题。但allow_domains 没有影响。

我需要更改一些配置才能禁用域检查?我不想要这个,因为我只想要数据库中的那些,但它现在可以帮助我禁用域检查。

thanks!!


  • 'allowed_domains'参数是可选的。首先,您可以跳过它以禁用域过滤
  • In scrapy/contrib/spidermiddleware/offsite.py您可以为您的自定义域过滤功能覆盖此功能:

    def get_host_regex(self, spider):
        """Override this method to implement a different offsite policy"""
        allowed_domains = getattr(spider, 'allowed_domains', None)
        if not allowed_domains:
            return re.compile('') # allow all by default
        domains = [d.replace('.', r'\.') for d in allowed_domains]
        regex = r'^(.*\.)?(%s)$' % '|'.join(domains)
        return re.compile(regex)
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Scrapy:allowed_domains从数据库添加新域 的相关文章

  • 阻止特定 URL 进行测试的最佳方法是什么?

    我正在使用 Google Chrome 和 Fiddler 版本 4 4 观察一个网站 该页面正在使用 AJAX 来更新其数据 我想阻止特定的 URL 以测试如果它不起作用会发生什么 阻止 URL 最简单的方法是什么 你希望发生什么 转到自
  • 避免由于相对 URL 导致的错误请求

    我正在尝试使用Scrapy抓取一个网站 并且我想要抓取的每个页面的url都是使用这种相对路径编写的 a href en item to scrap html Link a 现在 在我的浏览器中 这些链接可以工作 您可以访问类似的网址http
  • scrapy:当蜘蛛退出时调用函数

    有没有办法在 Spider 类终止之前触发该方法 我可以自己终止蜘蛛 如下所示 class MySpider CrawlSpider Config stuff goes here def quit self Do some stuff ra
  • 如何从当前项目向 scrapyd 添加新服务

    我试图同时运行多个蜘蛛 并在 scrapy 中制作了自己的自定义命令 现在我尝试通过 srapyd 运行该命令 我尝试将其作为新服务添加到我的 scrapd conf 中 但它抛出一个错误 指出没有这样的模块 Failed to load
  • 打印 scrapy 请求的“响应”

    我正在尝试学习 scrapy 在遵循教程的同时 我正在尝试进行细微的调整 我想简单地从请求中获取响应内容 然后我会将响应传递到教程代码中 但我无法发出请求并获取响应内容 建议就好 from scrapy http import Respon
  • html 抓取和 CSS 查询

    以下库的优点和缺点是什么 PHP 简单 HTML DOM 解析器 http simplehtmldom sourceforge net QP http querypath org phpQuery http code google com
  • Jsoup - 隐藏的div类?

    我正在尝试爬取 div 类 但到目前为止我尝试过的一切都失败了 我正在尝试抓取元素 a href div class s buttons button s buttons buttonAlt s buttons buttonSlashBac
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • AttributeError:“模块”对象没有属性“Spider”

    我刚刚开始学习scrapy 所以我遵循scrapy文档 http doc scrapy org en latest intro tutorial html 我刚刚编写了该网站中提到的第一个蜘蛛 import scrapy class Dmo
  • 如何将 Chrome 版本的网页提供给 python?

    我试图让用户轻松地从网页输入数字 我能想象的最简单的事情就是让他们提供一个 url 和一个与该号码关联的 xpath 然后我的代码可以去抓取数字 xpath 的概念 对于非编码人员来说 并不为人所知 但使用 Chrome 的 Inspect
  • 有没有办法以编程方式下载网页的部分内容,而不是整个 HTML 正文?

    我们只需要 nytimes com technology 上的 HTML 文档中的特定元素 该页面包含许多文章 但我们只想要文章的标题 该标题位于 如果我们使用 wget cURL 或任何其他工具或某些包 例如Python 中的请求 htt
  • 如何抓取 Hype Machine 等网站?

    我对网站抓取 即它是如何完成的等 很好奇 特别是我想编写一个脚本来执行网站的任务炒作机 http hypem com 我实际上是一名软件工程本科生 四年级 但是我们并没有真正涵盖任何 Web 编程 因此我对 Javascript RESTF
  • VBA - HTML 抓取问题

    我正在尝试从网站上抓取拍卖数据https www rbauction com heavy equipment auctions https www rbauction com heavy equipment auctions 我当前的尝试是
  • Scrapy - 如何抓取网站并将数据存储在 Microsoft SQL Server 数据库中?

    我正在尝试从我们公司创建的网站中提取内容 我在 MSSQL Server 中为 Scrapy 数据创建了一个表 我还设置了 Scrapy 并配置了 Python 来抓取和提取网页数据 我的问题是 如何将Scrapy爬取的数据导出到我本地的M
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • rvest如何通过id选择特定的css节点

    我正在尝试使用 rvest 包从网页中抓取数据 简单来说 html 代码如下所示 div class style div
  • Python Scrapy:“runspider”和“crawl”命令有什么区别?

    有人可以解释一下两者之间的区别吗运行蜘蛛 and crawl命令 应该在什么情况下使用它们 在命令中 scrapy crawl options
  • 等待网页完全加载,然后再使用 python 请求进行抓取

    我目前正在尝试从 LinkedIn 上的特定页面抓取数据 我有一个能够登录 LinkedIn 的脚本 但当我尝试访问包含数据的页面时遇到了障碍 当我打电话时requests get data url 我最终得到了 LinkedIn 加载屏幕
  • 无法在 phantomjs 中延迟加载

    我正在尝试从链接中抓取一些信息 http www myntra com women sarees nav id 606 http www myntra com women sarees nav id 606 涉及延迟加载 下面是我的代码片段
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s

随机推荐