天天看点

使用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(识别网站),是不是更形象,哈哈。