问题标签 [portia]
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.
regex - 正则表达式忽略电子邮件中的某些字符
我需要您的帮助来使用正则表达式提取正确的电子邮件。这是一个原始的 HTML:
我用这个表达式匹配一封电子邮件:
我得到的是:sales@some##thing.com
如何使正则表达式在此电子邮件地址中间返回没有两个#特殊字符的电子邮件?
谢谢
web-scraping - Scrapy 0 页面已抓取但没有明显问题?
我使用 Portia 创建了一个蜘蛛,然后将其下载为 scrapy 项目。蜘蛛运行良好,但它在日志中显示:Scrapy Crawled 0 pages (at 0 pages/min),也没有任何保存。但是,它还显示了所有以 200 响应爬取的页面,然后显示最后的数据字节。
蜘蛛代码
管道代码 我添加了 openSpider 和 closeSpider 函数,以便在爬行时将项目写入 json 行,我认为它可以工作,因为创建了 jl 文件。
设置中的设置代码 启用管道也可以使管道正常工作。
当我运行蜘蛛时,会创建以下日志:
我不明白为什么它不收集物品。我首先说 0 个项目已爬网,然后显示 200 个页面成功响应。如果有人知道如何尝试使其爬网将有所帮助。谢谢
scrapy - 提取后如何转换值?
我正在使用 Portia 从页面中提取信息。但是,提取的值之一不是我可以使用的格式。
更具体地说,我想提取一个使用点而不是逗号来表示千位的数值,例如“1.000”而不是“1,000”。
是否可以提取然后使用 Portia 进行转换?我可以设置一个正则表达式来提取数字,但也可以替换它们吗?
我现在正在做的是将数据导出到 csv,然后用于sed
替换有问题的数字。
谢谢
docker - 不使用 ssh 或 docker.sock 从其他容器执行 docker exec 命令
主要问题是我有两个容器:containerA 和 containerB。containerB 是 Portia 的容器,它正在运行,由于外部原因我无法停止。在容器A中,我需要执行容器B的docker exec。
我已经阅读了两个主要的解决方案,我已经尝试过的第一个解决方案是使用 ssh 在主机中运行脚本,但我不能拥有没有密码的用户,并且在我看来,给密码似乎不是最好的方法去做这个。第二种方式是使用 docker.sock 和一个 docker compose 文件,但是很多人在评论中说这不是一种安全的方式。
有人可以用其他方式解释我吗,或者如果我错了,为什么?谢谢你的时间。
python - 我怎样才能通过它的端口运行一个 portia 蜘蛛?
我正在尝试在其 docker 版本中运行带有 portia 的蜘蛛,但我不想使用终端命令(如docker exec ... portiacrawl ...
. 有什么方法可以运行已经创建的蜘蛛,通过在其本地主机端口发出请求并将其保存在特定文件夹中?
类似于: https://localhost:9001/execute/spider_name/folder_path
我自己的用法示例:
首先我要做的是运行容器并让它继续运行,因为由于其他原因我无法停止它:
接下来我执行portiacrawl:
现在,我想要的是用对正在运行的本地主机服务器的 som http 请求替换 docker exec 步骤。
非常感谢你花时间陪伴