【发布时间】:2015-08-04 22:07:59
【问题描述】:
我正在尝试创建一个可以做一件简单事情的脚本。输入是 URL 列表,输出是用 Magento 编写的那些 eshop 的列表。
我读到没有办法知道 eshop 是 Magento 还是其他东西,但我也读到有很多迹象可以告诉你这个网络页面使用 Magento 几乎 100% 肯定。
所以我找到了这个页面:magento detector,它可以告诉你它是否是 Magento,所以我正在尝试使用他们的信息。
他们说例如:
Magento 的用户界面文件位于名为
/skin/的目录中。对于前端(不是管理员用户界面),文件位于/skin/frontend。因此,如果页面源中存在此目录,那么该商店很可能在 Magento 上运行。
例如对于这个 eshop:starkk 告诉检测器它是一个 magento,它满足的条件之一就是我上面提到的条件。
如何检查目录是否存在?我看了看:http://www.starkk.de/skin/frontend/ 使用浏览器,但页面出现错误。
还有一个问题:您知道如何检测 Magento 的另一种更好的方法吗?
【问题讨论】:
-
也许检查错误,您使用浏览器时遇到禁止错误是吗?
code = requests.head("http://www.starkk.de/skin/frontend/").status_code -
当对目录的请求给出禁止时,这表明(但不是 100%)该目录存在。顺便说一句,通过您提供的链接,将其放入浏览器并查看图标 :-) 或直接发送至starkk.de/favicon.ico
-
您将不得不解析源代码页面:根据您提供的链接,在 js 中,有名为 varien(magento 的创建者)或 mage 的文件夹,并且文件有提及 magento 的许可证.文件夹
skin/frontend存在于源 html 中。 -
@Zimmi 谢谢你,starkk 是对的,但是当我查看这个由 Magento 提供支持的网站时:geschenkhexe.ch 我没有看到任何关于 Mageno 的提及。
-
我只是提出了一些想法,就像头脑风暴一样。我建议首先清楚地分析哪些标志可能表明使用了 magento,然后根据信心对它们进行排序。例如,您可以尝试直接下载 /varien/js.js 之类的文件,如果它与 magento 许可证一起存在并使用,这是一个很好的信号。但是您还需要确定其他标志,因为肯定有商店将所有 js 组合在一个文件中,删除许可证和 cmets。因此,没有符号并不意味着答案是“不是 magento”。