问题标签 [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.
scrapy - 提取后如何转换值?
我正在使用 Portia 从页面中提取信息。但是,提取的值之一不是我可以使用的格式。
更具体地说,我想提取一个使用点而不是逗号来表示千位的数值,例如“1.000”而不是“1,000”。
是否可以提取然后使用 Portia 进行转换?我可以设置一个正则表达式来提取数字,但也可以替换它们吗?
我现在正在做的是将数据导出到 csv,然后用于sed
替换有问题的数字。
谢谢
python - 连接被对方拒绝:111:连接被拒绝
我有一个LinkedIn的蜘蛛。它在我的本地机器上运行良好,但是当我在 Scrapinghub 上部署时出现错误:
Scrapinghub的完整日志为:
我怎样才能解决这个问题?
python-3.x - scrapinghub上传和使用文件
我在scrapyhub上传了我的蜘蛛。我了解如何使用我的 *.txt 文件上传,但如何使用它?
我的setup.py文件看起来像
然后我想使用这个Name.txt。
在上传我的蜘蛛之前看起来像
所以我的问题是:如何在抓取集线器上使用我的文件?
我尝试了这段代码,但不明白它是如何工作的,以及如何将它与我的代码集成 =)
data = pkgutil.get_data("youtube_crawl", "resources/Names.txt")
该函数返回一个二进制字符串,它是指定资源的内容。
python - 为 SitemapSpider 和 CrawlSpider 中的每个请求添加元 deltafetch_key
我正在使用 scrapinghub 的 deltafetch 功能从网站获取新页面,而无需请求我已经抓取的网址。
我注意到在某些网站上,scrapy 仍然会使用已经访问过的 url 报废页面。我不得不只使用 url 替换默认的指纹 deltafetch_key。
它适用于 scrapy Spider
,因为我可以在请求中定义元数据。但是,当使用CrawlSpider
and时SitemapSpider
,我有点卡住了。例如,SitemapSpider
, 有一个_parse_sitemap
包含 的方法Requests
,但我不能真正覆盖它。
我尝试使用自定义DOWNLOADER_MIDDLEWARES
,通过使用process_request
和添加request.meta['deltafetch_key'] = xxx
. 但不知何故,在自定义下载器中间件之前调用了 deltafetch 蜘蛛中间件。
您有任何想法如何向of和中添加meta
信息吗?Request
CrawlSpider
SitemapSpider
ruby - 从 Scrapinghub 检索所有项目作为哈希
我从 Scrapinghub 的一份工作中检索了所有项目:
问题是 items 是 String 而不是 Hash。有没有办法将其解析为 Hash 以便更轻松地检索单个项目,因为响应是 JSON。如果没有,我如何最好地解析字符串。谢谢
python - 如何在 ScrapingHub 上将 geckodriver“添加”到 PATH?
我正在使用 python2 进行网页抓取,我编写了一个蜘蛛,它使用无头 Firefox(无 GUI)访问网站,使用我的帐户登录,然后通过按下按钮、填写表格、日历等与网站进行交互。它在我的个人计算机上按预期工作,但是,一旦我将它部署到 Scrapinghub,我就会收到错误消息,指出geckodriver 需要在路径上。. 该目录已经在我的计算机上的 PATH 上,只是不在 Scrapinghub 上。
我尝试将 geckodriver 本身复制到项目内的文件夹中,将其子目录添加到webdriver的executable_path参数中,如本小指南所示,最后再次部署到 Scrapinghub,但我仍然遇到相同的错误。
我想知道如何将 geckodriver 添加到 Scrapinghub 上的“PATH”(如果可能)以及是否有其他方法可以实现这一点。我读过一些关于 Python 鸡蛋的东西,但我不确定这是否能帮助我解决这个问题。
我使用 Windows 10 和 python 2.7。
python - Scrapinghub 在信号处理程序上遇到错误:
我有一个可以在本地运行的scrapy 脚本,但是当我将它部署到Scrapinghub 时,它会给出所有错误。调试后,错误来自 Yielding item。
这是我得到的错误。
ERROR [scrapy.utils.signal] Error caught on signal ha
我有一个可以在本地运行的scrapy 脚本,但是当我将它部署到Scrapinghub 时,它会给出所有错误。调试后,错误来自 Yielding item。
这是我得到的错误。
它没有指定有问题的字段,但是通过消除过程,我意识到这是代码的这一部分:
我清理了一些部分以使其更容易解决,但基本上这部分是问题所在。它不喜欢项目媒体的东西。
我是 Python 和 Scrapy 的初学者。很抱歉,如果这被证明是愚蠢的基本 Python 错误。任何的想法?
编辑:所以从 ThunderMind 得到答案后,解决方案是简单地为 key 做 str(media_index)
是的,就在这里:
media_index 是可变的。并且 Keys 不能是可变的。阅读Python dict,了解应该使用什么作为键。
我有一个可以在本地运行的scrapy 脚本,但是当我将它部署到Scrapinghub 时,它会给出所有错误。调试后,错误来自 Yielding item。
这是我得到的错误。
ERROR [scrapy.utils.signal] Error caught on signal ha
我有一个可以在本地运行的scrapy 脚本,但是当我将它部署到Scrapinghub 时,它会给出所有错误。调试后,错误来自 Yielding item。
这是我得到的错误。
它没有指定有问题的字段,但是通过消除过程,我意识到这是代码的这一部分:
我清理了一些部分以使其更容易解决,但基本上这部分是问题所在。它不喜欢项目媒体的东西。
我是 Python 和 Scrapy 的初学者。很抱歉,如果这被证明是愚蠢的基本 Python 错误。任何的想法?
编辑:所以从 ThunderMind 得到答案后,解决方案是简单地为 key 做 str(media_index)
是的,就在这里:
media_index 是可变的。并且 Keys 不能是可变的。阅读Python dict,了解应该使用什么作为键。
python - 无法部署到 ScrapingHub 不存在 SyntaxError:无效语法
如果我调用:scrapy crawl,我有一个运行完美的 Scrapy Spider。当我尝试将它部署到 ScrapingHub.com 时,它会引发我无法修复的 SyntaxError。我无法弄清楚发生了什么。我的代码中没有语法错误。
这是我的部署输出:
json - Scrapinghub 将我的结果插入日志而不是项目
我有一个正常运行的蜘蛛项目来提取 urls 内容(没有 css)。我抓取了几组数据并将它们存储在一系列 .csv 文件中。现在我尝试将其设置为在 Scrapinghub 上工作,以便进行长期抓取。到目前为止,我能够上传蜘蛛并在 Scrapinghub 上工作。我的问题是结果出现在“日志”中,而不是“项目”下。数据量超过了日志容量,因此给了我一个错误。如何设置我的管道/提取器工作并返回 js 或 csv 文件?我对将抓取的数据发送到数据库的解决方案感到满意。因为我也没有做到这一点。任何指导表示赞赏。
蜘蛛:
管道
设置
项目
Scrapinghub 日志显示: