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']}
1
2
淘宝
>>> builtwith.parse("https://www.taobao.com/")
{u'web-servers': [u'Tengine']}
1
2
4. 其他
其实我们自己也可以写一个识别网站的模块,先把网站关联的代码下载下来,然后如果有<script>..jquery.min.js...<script>说明该网站应该使用了jquery技术。
这个模块名就叫identifysite(识别网站),是不是更形象,哈哈。