天天看點

使用python builtwith子產品分析識别網站開發技術(python2.7)

1. 網站開發技術概述

目前主流的網站開發技術,應該是PHP/Java EE/ASP.NET,一般情況下,如果在浏覽網站時,發現網頁字尾名包含.php,該網站一般是使用了PHP技術;同理如果含有.jsp,那麼可能采用了Java EE;如果含有.aspx,那麼可能采用了ASP.NET。

當然,隻能是可能而已,比如在Java EE中可以利用Servlet配置攔截的url樣式,進而響應.do/.action或其他自定義的請求。

現在,python語言的builtwith子產品可以直接分析網站所采用的技術,滿足了我們對一個網站進行分析最基本的需求。

2. 安裝builtwith子產品

在終端執行pip install builtwith即可安裝builtwith子產品,前提是已經安裝了pip,pip安裝參見博文《CentOS7 Linux下安裝python-pip 》。

注意執行安裝指令時需要root權限。

3. 分析網站開發技術

如下,首先執行python指令進入python代碼模式,然後倒入builtwith子產品,利用該子產品的parse()方法分析搜狐網的開發技術,從輸出可以看出,搜狐網使用了Javascript和Nginx。

[root@localhost chen]# python

Python 2.7.5 (default, Nov  6 2016, 00:28:07)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import builtwith

>>> builtwith.parse("http://www.sohu.com")

{u'javascript-frameworks': [u'RequireJS'], u'web-servers': [u'Nginx']}

>>>

1

2

3

4

5

6

7

8

下面再分析幾個網站:

新浪:

>>> builtwith.parse("http://www.sina.com.cn/")

{u'javascript-frameworks': [u'Prototype', u'jQuery'], u'web-servers': [u'Nginx']}

淘寶

>>> builtwith.parse("https://www.taobao.com/")

{u'web-servers': [u'Tengine']}

4. 其他

其實我們自己也可以寫一個識别網站的子產品,先把網站關聯的代碼下載下傳下來,然後如果有<script>..jquery.min.js...<script>說明該網站應該使用了jquery技術。

這個子產品名就叫identifysite(識别網站),是不是更形象,哈哈。