繁体   English   中英

如何检测正在使用的电子商务软件

[英]How to detect which ecommerce software is being used

我正在用 C# 制作一个需要查找网上商店的网络爬虫。 我遇到的问题是我需要检测该网页是否为网店。 如果是,我需要找出它使用的是什么类型的电子商务软件。 但问题是我不知道你如何在源代码中检测到它。

我还有一个名为 builtwith 的 Chrome 插件,它可以检测各种软件。 但我还没有弄清楚他们是如何做到这一点的。

如果有人能帮我解决这个问题就好了

在给你一个实际的答案之前,值得注意的是,你的提议可能违反了许多网站的使用条款。 您应该花时间调查您自己和您的组织可能面临的法律责任。

这将是大量耗时的工作,但并不难。 您的爬虫只需要简单地使用基于规则的方法来检测页面负载中的签名即可。

  1. 找到您要检测的特定软件。
  2. 找到 2-3 个肯定在使用该软件的站点。
  3. 查看 HTML 负载以查看它们具有哪些在站点中通用的脚本、CSS 和 HTML 模式。
  4. 构建一个基于代码的规则,可以一致地检测这些模式。 例如: if (html.Contains("widgetName")) isPlatformName = true;
  5. 在您确定使用该软件的更多站点上测试该模式。
  6. 对每个软件供应商重复。

更复杂的情况是当目标有多个版本并且您需要调整规则以了解和了解各种版本时,或者当平台非常相似时。

我认为其中最复杂的部分是经过深思熟虑的机器人问题检测、报告和限制架构。 您可能应该将大部分时间花在计划上。

就是这样。

有几种不同的方法可以确定站点使用的技术。 首先,如果您精通技术,可以右键单击电子商务页面(目录、结帐页面等)并查看源代码。 许多平台都会在源代码中提供提示,让您了解站点正在运行的内容。

您还可以查看 DNS/托管信息,这将帮助您确定电子商务解决方案是托管的还是 SaaS(例如 Shopify)。

您也可以尝试使用InterNIC并输入域名。 结果将返回可以为您指明正确方向的名称服务器。

最后,如果所有的侦查看起来都太难了,还有一个更简单的方法! 尝试内置。 只要您查找的系统不是自定义/专有的,它通常非常可靠。 BuiltWith 中输入一个域,它将显示平台、使用的小部件、分析和跟踪代码、CDN、CMS、支付处理器等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM