如何检测Joomla网站?

时间:2017-07-27 19:44:10

标签: python joomla detection

我正在尝试创建一个脚本,用于检测给定的URL是否指向Joomla网站。

现在我有:

def is_joomla(url):
    manifest = url + '/administrator/manifests/files/joomla.xml'
    # get XML

    if "joomla" in XML: # simplified
        return True
    return False

另一种选择是以小写字母检查html中的Joomla字符串,但它不可靠。我知道有些Joomla页面无法被检测到,但大多数都应该被检测到。

还有其他迹象可以帮助我发现它是否是Joomla?我不在乎版本。

3 个答案:

答案 0 :(得分:0)

我会检查不同的点,以确保您抓取的网页是一个joomla网站。

  1. 检查DOMAIN /管理员/响应是否为200.如果为true,请检查元数据以确保它是joomla。在管理页面上,您可以找到<meta name="generator" content="Joomla! - Open Source Content Management" />
  2. 检查joomla默认提供的DOMAIN / robots.txt,并在此文件中搜索“Joomla”。也应该返回true。
  3. 您可以检查html中的其他参数,例如是否存在样式表存储在其中的“templates”文件夹。
  4. 我认为如果选项1和3返回true,您可以非常确定已爬网页面是一个joomla站点。选项2不保存,因为有些人可能会删除robots.txt。

答案 1 :(得分:0)

您可以通过简单检查网站上的响应代码(X-CF-Powered-By)来查看网站正在运行Joomla示例:

Antwort HTTP/1.1 200 OK
Date    Fri, 28 Jul 2017 09:02:35 GMT
Content-Type    text/html; charset=utf-8
Transfer-Encoding   chunked
X-CF-Powered-By CF-Joomla 0.1.5
P3P CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Expires Wed, 02 Aug 2017 09:02:35 GMT

答案 2 :(得分:-1)

在继续之前,您需要建立连接,直到此html文件不在磁盘中。除此之外,您可以使用BeautifulSoup来解析它并使用您正在寻找的标签。