我正在C#中制作一个网络爬虫,它需要找到网站商店。我的问题是,我需要检测网页是否是一个网络商店。如果是的话,我需要知道它使用的是哪种类型的电子商务软件。但问题是,我不知道如何在源代码中检测到它。
我也只有一个Chrome插件,名为builtwith,可以检测各种软件。但我还没有弄清楚他们是如何做到的。
如果有人能帮我解决这个问题,那就太好了
发布于 2016-08-31 23:33:23
在给你一个实际的答案之前,值得注意的是,你的建议可能违反了许多网站的使用条款。你应该花时间去调查你自己和你的组织可能面临的法律责任。
这将是一项耗费大量时间的工作,但并不困难。您的爬虫只需要简单地使用基于规则的方法来检测页面有效负载中的签名。
if (html.Contains("widgetName")) isPlatformName = true;更复杂的是,当目标有多个版本时,您需要调整您的规则来了解和了解不同的版本,或者当平台非常相似的时候。
我认为最复杂的部分是有一个深思熟虑的机器人问题的检测,报告,和节流体系结构到位。你应该把大部分时间花在计划上。
就这样。
发布于 2020-11-23 07:32:10
有几种不同的方法来确定一个站点正在使用的技术。首先,如果您技术娴熟,可以右键单击eCommerce页面(目录、签出页等)并查看源代码。许多平台将在源代码中提供提示,让您了解站点正在运行的内容。
您还可以查看DNS/宿主信息,这将帮助您确定eCommerce解决方案是托管的还是SaaS (例如,Shopify )。
您也可以尝试使用InterNIC并输入域名。结果将返回名称服务器,这将指向正确的方向。
最后,如果所有的侦探似乎太难,有一个更容易的方法!试试BuiltWith。它通常是相当可靠的,只要您正在查找的系统不是自定义/专有的。在BuiltWith中输入一个域,它将向您展示平台、使用的小部件、分析和跟踪代码、CDN、CMS、支付处理器等等。
https://stackoverflow.com/questions/39249604
复制相似问题