问题标签 [scrapinghub]

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 投票
1 回答
1050 浏览

python-3.x - Scrapy、Scrapinghub 和 Google Cloud Storage:在 scrapinghub 上运行爬虫时出现 Keyerror 'gs'

我正在使用 Python 3 开发一个 scrapy 项目,并且蜘蛛被部署到 scrapinghub。我还使用 Google Cloud Storage 来存储此处官方文档中提到的抓取的文件。

当我在本地运行它时,蜘蛛运行得非常好,并且蜘蛛被部署到 scrapinghub 没有任何错误。我正在使用scrapy:1.4-py3作为 scrapinghub 的堆栈。在上面运行蜘蛛时,我收到以下错误:

PS:'gs'用于存储文件的路径,如

我已经研究过这个错误,但没有任何解决方案。任何帮助都会有巨大的帮助。

0 投票
1 回答
152 浏览

python - Ignoring requests while scraping two pages

I am now scraping this website on a daily basis, and am using DeltaFetch to ignore pages which have already been visited (a lot of them).

The issue I am facing is that for this website, I need to first scrape page A, and then scrape page B to retrieve additional information about the item. DeltaFetch works well in ignoring requests to page B, but that also means that every time the scraping runs, it runs requests to page A regardless of whether it has visited it or not.

This is how my code is structured right now:

Any help would be appreciated to ignore the first request to page A when this page has already been visited, using DeltaFetch.

0 投票
1 回答
100 浏览

ip - 部署到 Scapinghub 后如何让 Scrapy 访问 Tor

我已经将蜘蛛配置为使用 setup Privoxy 访问 Tor,但这仅在我在 localhost 中使用时才有效,因为我配置的设置指向 127.0.0.1: 端口。但是当我部署到 Scapinghub 时,服务器端不会像我一样设置 tor 和 privoxy。这是我可以用来让蜘蛛通过我的网络和端口通过我的机器的任何解决方案吗?

据我所知,如果在同一个网络上,我们可以使用内部 IP。我可以将公共 IP 替换为 127.0.0.1 但我想知道网络如何转发到哪台机器。

以下是访问器的配置:

中间件.py

设置.py

0 投票
1 回答
148 浏览

scrapy - deltafetch和splash如何在Scrapy(python)中一起使用

我正在尝试使用 scrapy 构建刮板,我计划使用 deltafetch 来启用增量刷新,但我需要解析基于 javascript 的页面,这也是我需要使用 splash 的原因。在settings.py文件中,我们需要添加 SPIDER_MIDDLEWARES = {'scrapylib.deltafetch.DeltaFetch': 100,} for enabling deltafetch whereas, we need to add SPIDER_MIDDLEWARES = {'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,} for splash

我想知道如果它们都使用某种蜘蛛中间件,它们将如何协同工作。

有什么方法可以同时使用它们吗?

0 投票
1 回答
159 浏览

python - 部署失败,因为 Scrapinghub 的多个蜘蛛

我用scrapy创建了一个项目并将数据保存到我的mongodb。它可以工作。

这是我的代码:

这是我的麻豆蜘蛛,我有很多像麻豆一样的蜘蛛,如果我不添加if __name__ == '__main__':,我可以运行我所有的蜘蛛

但是当我想将我的项目部署到 Scrapinghub 时,我得到了错误

我从 github https://github.com/scrapinghub/shub/issues/273找到解决方案

我不确定如何使用第一个解决方案,所以我像提问者一样尝试第二个解决方案。

我修复这样的代码:

它可以成功地将项目部署到 Scrapinghub,但是当我运行该项目时,我发现没有一个蜘蛛运行。

为什么 ?我想不通。

任何帮助,将不胜感激 。提前致谢。

这是我运行项目时的终端信息:

尝试修复:

日志:

0 投票
2 回答
1002 浏览

python - Crawlera:407“错误的身份验证”错误消息

将 Crawlera 的示例代码用于带有代理的 GET 请求。

我收到 407 Bad Proxy Auth 错误。我已经检查了 API_KEY 是否正确的三倍。

响应标头:

请求已更新。

0 投票
0 回答
25 浏览

scrapy - Scrapinghub 中的 Modules 文件夹

我目前正在使用 Scrapinghub 的 Scrapy Cloud 来托管我的 12 个蜘蛛(和 12 个不同的项目)。

我想要一个文件夹,其中包含所有 12 个蜘蛛都使用的函数,但不确定在每个蜘蛛中没有 1 个函数文件夹的情况下实现它的最佳方法是什么。

我正在考虑在同一个项目下托管所有蜘蛛,在蜘蛛连接到的云中创建一个私有包或自己托管 ScrapyD,以便我可以引用这些模块。

有没有人偶然发现这一点,你的解决方案是什么?

0 投票
0 回答
748 浏览

python - “Scrapy crawl”无法从从 spiders 文件夹运行的项目文件夹中工作

我是 Python 的新手。我试图到处寻找解决方案,但无法通过。

我做了一个 Scrapy 项目,由于项目结构,蜘蛛默认存储在/spiders目录中。

/project问题:我们通常从其中包含的目录运行爬虫/spiders。包含这段代码后问题开始了:

/project如果我从目录中抓取蜘蛛并抛出错误,上面的代码不会捕获远程文件

“找不到文件 json_filename.json。”

但是当我从目录中抓取蜘蛛时,/project/spider它运行顺利,没有任何错误。

我想我在这里遗漏了一些基础知识,与爬行位置或环境变量有关。谢谢人们。

0 投票
1 回答
112 浏览

python - Scrapy 作业设置是什么意思?

我正在阅读https://doc.scrapinghub.com/scrapy-cloud.html#scrapycloud,有点困惑为工作覆盖 Scrapy 设置意味着什么。这是否意味着我可以更改 start_url?或者我可以真正覆盖哪个设置。

对不起,我的英语不好。

0 投票
1 回答
506 浏览

scrapy - 如何在scrapinghub上正确地将参数传递给scrapy spider?

我正在尝试将参数传递给我的蜘蛛(理想情况下是 Dataframe 或 csv):

我尝试使用 *args 和 **kwargs 参数类型,但每次我只得到最后一个结果。例如:

当我尝试从蜘蛛内部打印它们时,我只得到元素 3:

我认为有一些简单的解释,我似乎无法理解。

提前致谢!