问题标签 [import.io]
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 - importi.io :一些数据未导入或混合在同一列中
我在这个网页上使用 import.io 的 Magic API:
某些类型的信息/字段被完美提取。
但是提取器:
将 NOR 编号字段(例如:NOR DEVL1502938A)与表示同一列中的页数(例如:10)的数字混合。可能是因为它们都是链接文本(标签如下: a title="[...]" href="[...]")
然后将书目参考字段(例如:JO du 04/04/2015 texte : 0080;10 pages 6232/6241)与 NOR 编号字段混合。这对我来说似乎很奇怪,因为 NOR 系统地位于参考文献之前,并且它们不在网页中的同一行(在书目参考字段之前有一个br/标签)
经常无法加载文本摘要的内容(例如:(Application de l'art. R. 411-1 et s. du code de l'environnement - Abrogation de l'arrêté du 15 mai 1986 fixant sur tout ou partie du领土国家保护措施 de oiseaux représentés dans le département de la Guyane))在一栏中。相反,它将它分散到各个列中。我看到在span class="noir"标签之后插入em标签时会发生这种情况。例子 :
应用艺术。R. 213-49-2 du code de l'environnement - Abrogation de l'arrêté du 10 août 2011 relatif à la définition du périmètre de l'Etablissement public du Marais poitevin)
我曾尝试使用新提取器或通过特殊的 Google 请求结果网页https://www.google.fr/search?q=PROTECTION+FAUNE+et+FLORE+SAUVAGES+site:legifrance.gouv 解决问题。 fr+文件类型:pdf。无济于事。谷歌网页替代方案提供了更糟糕的结果。
我欢迎任何想法:
关于第二个问题的原因
以及如何克服 Legifrance 页面上的三个问题。
非常感谢您阅读到最后:-)
PS:请注意,我主要作为研究人员工作。虽然我能理解他们的逻辑,但我对 Regex 或 Json 并不熟悉。因此,如果需要使用它们,您能否解释一下背后的逻辑或显示足够的理想代码部分,以便我可以有效地复制它?
regex - 使用 xpath 或 regexp 设置 import.io 爬虫
我目前正在尝试设置一个网络爬虫来从房地产网站中提取数据。这些网站的趋势是每个页面的某些信息不在同一个地方,所以我必须弄清楚如何让它提取包含某些短语的文本元素,而不是基于它们的位置。以下是此类页面的一些示例:
http://www.zillow.com/homedetails/2630-Hazy-Creek-Dr-Houston-TX-77084/28388488_zpid/
http://www.zillow.com/homedetails/16514-Park-Firth-Dr-Houston-TX-77084/28357799_zpid/
请注意某些信息(例如 MLS #)是如何出现在不同位置的。当我从这些条目之一中提取 xpath 时,我得到://*[@id="yui_3_15_0_1_1435013689406_3296"],并且由于我对 xpath 不太熟悉,我不知道如何更改它以查找一些短语(我当然尝试过,但它永远不会成功)。正则表达式似乎是一个很有前途的工具,但是当我使用命令 ^MLS,它应该查找以“MLS”开头的元素时,它根本不起作用。我知道必须有一个简单的方法来做到这一点,但这是我第一次使用这项服务,所以我还不太熟悉。建议将不胜感激。
javascript - 如何从前端 JavaScript 应用程序查询 Import.io?
我想开发一个简单的 javascript 应用程序,该应用程序需要访问 Import.io 连接器提供的数据。我不想公开我的 API 密钥,所以这种情况下推荐的方法是创建一个签名的 URL。我尝试使用文档中提供的 PHP 脚本“加密”我的查询 URL,但我不断收到错误消息:
{ "error": "签名 URL 中的数据格式错误", "code": "BAD_PARAMETER" }
也许我完全以错误的方式接近这个。有人可以引导我完成如何执行此操作的步骤吗?
pagination - 使用 import.io 抓取分页结果的最佳方法
邮轮行业有几个网站我想了解一下。示例: http ://www.silversea.com/cruise/cruise-results/?page_num=1 http://www.seabourn.com/find-luxury-cruise-vacation/FindCruises.action?cfVer=2&destCode=&durationCode= &dateCode=&shipCodeSearch=&portCode=
在某些情况下,如第一个所示,结果页面遵循模式 - ?page_num=1...17。但是,结果的数量会随时间而变化。
在第二种情况下,URL 不会随着分页而改变。
归根结底,我想做的是将每个网站的结果放入一个文件中。
Q1:除了为场景 1 设置 17 个爬虫,然后随着时间的推移积极观察结果的增长/收缩,还有其他选择吗?
Q2:我完全不知道如何从第二个场景中抓取内容。
xpath - import.io :使用 XPATH 将独立行插入结果中
我正在尝试使用 import.io 抓取该网站:ScoreCard
我能够成功获得击球得分,但我想在最后插入额外的列,它可以告诉我有关局数的信息。所以它应该与击球手的名字有关。
我尝试使用 XPATH://*[@id="innings_1"]/div[1]/div/h4/b
但这将始终返回 First Inning as ID is "innings_1"
。其他 IDinnings_2/3/4
等等。在 XPATH 中有什么方法可以让我获得与 Batsman 列相关的这个元素吗?
web-crawler - 爬取产品详细信息页面时动态分配列?
我对 import.io 和堆栈溢出完全陌生,请善待我。
我正在尝试抓取一家销售珠宝的在线商店的产品详细信息页面,并在页面上找到这种功能列表:
特征
性别 男性
技术风格 石英
材质 不锈钢
等等
是否可以训练爬虫动态提取粗体文本作为列名,而不是粗体文本作为列值?即列“性别”具有值“男性”等。假设在其他产品详细信息页面上,功能可能不以“性别”开头
谢谢你的帮助!
html - 带有 dt 标记的 import.io 的手动 xpath 覆盖
在浏览了 import.io 的培训博客和 W3schools 之后,编写 xpath 覆盖对我来说仍然是一个难题。我正在尝试从信息并不总是在完全相同的位置的站点中提取属性值,所以我知道我需要编写一个 xpath 覆盖。HTML 是:
xpath是
我努力了
和
但没有运气。我不确定它是跟随还是跟随兄弟姐妹。任何帮助将非常感激。
web-scraping - import.io 如何发挥它的魔力?
谁能大致介绍一下 import.io 可能会做什么?
例如尝试
它完美地找到了导航和子菜单。
刮板如何抽象到与像这样提供给它的任何网站一起工作的水平?不依赖于特定网站的 DOM 结构或类名。
我知道它是封闭源代码,我显然只是在这里广泛地询问......我们最好的猜测是什么?
web-crawler - 带有下拉菜单的 import.io 网络爬虫
我首先要说我对此很陌生,所以如果有一个简单或明显的答案,我深表歉意。
我安装了 import.io 并且工作正常,但我遇到了问题。我要废弃的网站是http://hockeyanalysis.com/stats/index.php,你可以看到有几个下拉菜单。我感兴趣的两个是两支球队的数据、赛季和情况。
我想从前 5 年和每年的所有 36 种情况中删除数据。是的,我知道这只有 180 种不同的可能性,我可以手工完成,但我将其用作学习机会。
这是其中一个网址的示例。http://hockeyanalysis.com/stats/teamstats.php?db=201415&sit=5v5&disp=1
我知道每年db=201415可以改成201314等等,我也知道sit=5v5可以是5v5home、5v5road、5v5close等等。这些不遵循我认为的逻辑路径,但我可以简单地复制和粘贴它们。例如,我想做的是让 db=201415 和 sat=5v5, 5v5home, 5v5road,然后更改 db=201314, 201213 并让 import.io 为提供的其他人填写座位。意思是,我会用 5 个例子训练它,它可以在剩下的 4 个例子中训练。
这可能吗?有没有其他方法可以解决这个问题?感谢您的反馈。