2017-07-27 84 views
0

我試圖創建一個腳本,檢測給定URL指向Joomla網站。如何檢測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?我不在乎版本。

回答

-1

在繼續之前,您需要建立連接,直到此html文件不在磁盤中。除此之外,您可以使用BeautifulSoup解析它並使用您正在查找的標籤。

+0

當然,我在尋找神蹟,告訴我,該網站是在Joomla,而不是一種技術。 –

0

我會檢查不同的點,以確保你爬行的頁面是一個joomla網站。

  1. 檢查DOMAIN/administrator/responses a 200.如果爲true,請檢查元數據以確保它是joomla。在管理頁面上,您可以找到<meta name="generator" content="Joomla! - Open Source Content Management" />
  2. 檢查由joomla默認發貨的DOMAIN/robots.txt,並在該文件中搜索「Joomla」。也應該返回true。
  3. 您可以檢查其他參數一樣,如果有一個「模板」文件夾,其中樣式表存儲在HTML。

我想,如果選項1和3返回true,則可以非常肯定的說抓取的頁面是joomla網站。選項2不保存,因爲有些人可能會刪除那裏的robots.txt。

0

你可以看到一個網站運行的Joomla通過簡單的從這裏現場檢查響應代碼(X-CF供電-By)的一個樣本:

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