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(識别網站),是不是更形象,哈哈。