问题标签 [scrapyd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
386 浏览

python - 使用多种配置启动 Scrapyd

我正在尝试根据我的环境(例如开发、生产)使用多种配置来开发我的 Scrapy 应用程序。我的问题是有些设置我不知道如何设置它们。例如,如果我必须设置我的数据库,那么在开发中应该是"localhost",而在生产中必须是另一个。

我在做的时候如何指定这些设置scrapy deploy?我可以在命令行中使用变量设置它们吗?

0 投票
1 回答
2495 浏览

python - Scrapy如何使用Loader忽略具有空白字段的项目

我想知道如何忽略不填满所有字段的项目,某种下降,因为在scrapyd 的输出中,我得到的页面没有填满所有字段。

我有那个代码:

解析器:

我想用 Loader 来做,而不需要用我自己的 Selector 创建(以避免两次处理项目)。我想我可以将它们放入管道中,但这可能不是最好的方法,因为这些项目无效。

0 投票
1 回答
556 浏览

python - 为什么在 scrapyd 中禁用 HttpCacheMiddleware?

为什么 HttpCachedMiddleware 需要 scrapy.cfg 以及如何解决这个问题?

scrapyd-deploy用来构建鸡蛋,并将项目部署到scrapyd。

作业运行时,我从日志输出中看到 HttpCacheMiddleware 已禁用,因为找不到 scrapy.cfg。

2014-06-08 18:55:51-0700 [scrapy] 警告:已禁用 HttpCacheMiddleware:无法找到 scrapy.cfg 文件来推断项目数据目录

我检查了 egg 文件,scrapy.cfg 确实不存在,因为 egg 文件只包含项目目录中的文件。我可能是错的,但我认为鸡蛋是正确建造的。

深入研究代码,我认为三个 if 条件之一在 MiddlewareManager 中以某种方式失败。

0 投票
4 回答
1549 浏览

scrapy - Scrapyd 与 Polipo 和 Tor

更新:我现在正在运行这个命令:

并得到这个错误:


我正在尝试通过scrapyd-deploy部署我的scrapy蜘蛛,以下是我使用的命令:

我收到以下错误消息:

以下是我的scrapy.cfg文件:

我正在使用 port 上的 polipo 代理运行 tor 和 polipo 'http://localhost:8123'。我可以毫无问题地执行 wget 并下载该页面。代理正常工作,我可以连接到互联网等等。请询问您是否需要更多说明。

谢谢!

0 投票
1 回答
3666 浏览

scrapy - 如何用scrapy爬取多个域

我有一个项目,我必须在其中抓取大量不同的站点。所有这些网站的爬行都可以使用同一个蜘蛛,因为我不需要从它的正文页面中提取项目。我认为的方法是在蜘蛛文件中参数化要爬取的域,并调用scrapy crawl命令传递域和启动url作为参数,这样我就可以避免为每个站点生成一个蜘蛛(站点列表会增加时间)。这个想法是将它部署到运行scrapyd的服务器上,所以我遇到了几个问题:

  • 这是我能采取的最好方法吗?
  • 如果是这样,如果我安排多次传递不同参数的同一个蜘蛛,是否有任何并发​​问题?
  • 如果这不是最好的方法,最好为每个站点创建一个蜘蛛......我将不得不经常更新项目。项目更新会影响正在运行的蜘蛛吗?
0 投票
2 回答
1366 浏览

json - 将json参数传递给scrapy中的蜘蛛

我应该将一些从 json 文件中获取的参数传递给蜘蛛。我已经读过可以通过scrapyd使用 schedule.json 但我不明白如何传递 json 文件。你们有人有经验吗?

0 投票
1 回答
1354 浏览

python - 更改运行蜘蛛的数量scrapyd

嘿,所以我的项目中有大约 50 个蜘蛛,我目前正在通过 scrapyd 服务器运行它们。我遇到了一个问题,我使用的一些资源被锁定并导致我的蜘蛛失败或运行速度非常慢。我希望他们能以某种方式告诉scrapyd 一次只有一个正在运行的蜘蛛,并将其余的留在待处理的队列中。我在文档中没有看到此配置选项。任何帮助将非常感激!

0 投票
1 回答
1500 浏览

python - 部署时 Scrapyd 权限被拒绝

我对 Scrapyd 很陌生,正在尝试部署。我在 Ubuntu 12.04 上运行并安装了 Scrapyd 的 ubuntu 版本。当我运行scrapy deploy default -p pull_scrapers它返回

编辑:

打开debug=onconf.d/000-default文件后,报错是

0 投票
1 回答
987 浏览

python - 使用 scrapyd api 为蜘蛛提供 url

我试过类似的东西:

当我检查日志时,我得到了这个错误代码:

看起来只有“ http://www.foo.com ”的第一个字母被用作request.url,我真的不知道为什么。

更新

也许 start_urls 应该是一个字符串而不是一个包含 1 个元素的列表,所以我也尝试了:

只是得到同样的错误。

0 投票
1 回答
521 浏览

password-protection - 限制对端口 6800 的访问

我最近设置了我的第一台 Ubuntu 服务器并安装了 scrapy 和 scrapyd。我已经编写了一些蜘蛛,并且我已经弄清楚了如何通过端口 6800 上的 API 来执行蜘蛛。我还注意到那里有一个 Web 界面。我还注意到几乎任何人都可以这样做,特别是因为 Web 界面上的数据列出了所有项目和蜘蛛名称。有没有办法保护这个功能,只有我可以管理这个?

谢谢,乍得