Langzi_eyes项目

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lzy98/article/details/83246191

title: Langzi_eyes项目
copyright: true
top: 0
date: 2018-10-06 22:25:57
tags: 数据采集展示
categories: Flask
permalink:
password:
keywords: flask
description: 一个基于Flask+Python+Mysql的服务端,实现自动采集网址数据,数据分类,数据可视化展示功能,功能上类似钟馗之眼,属于ZOOM_EYE的仿制品。
—# 2018年10月21日12:52:04

目前是0.37版本,全文共1800字,阅读约需5分钟.

功能介绍

Langzi_eyes 是一个模仿zoomeye的练习品,基于FLASK+SQLALCHEMY+JINJA2+Python。主要是为了复习以前学过的知识,多学不练假把式。功能如下:

  1. 网址全自动化采集入库
  2. 网址标题,内容,IP地址,端口开放情况采集
  3. 一键提取符合要求的网址与IP

功能可以参考zoomeye,查询界面如图

在输入框中输入相关参数,比如要搜索edu.cn的网址,可以在搜索框中填写edu.cn,然后点击提交请求

数据库回显数据,点击提取数据可以把这些网址或者IP批量保存到本地

基本原理

URL采集

URL的来源在/app/web/config.py文件中的4个网址,从中提取外链入库,然后循环采集即可是实现无限循环采集。

信息获取

在/app/web/getinfo.py 文件中类方法实现信息获取。调用这个类的方法如下:

d = Get_Info(url='http://www.langzi.fun')
d1 = d.get_urls()
# 返回这个传入网址中所有的外链,返回对象为列表,如果没有数据返回None,下同
d2 = d.get_infos()
# 返回这个网址中的标题,内容,返回对象为字典
d3 = d.get_ips()
# 返回这个网址的ip和开放端口,返回对象为字典

数据库操作

在/app/web/database.py的两个类方法,使用ORM模型来操作数据库增删改查。

核心功能

在/app/web/runmain.py文件中的run函数,功能是从数据库获取网址,然后爬行友链
,然后对友链信息监测,友链保存到数据库,信息保存到数据库。

其中的searchs函数是最核心的,功能是从前端获取参数,带入数据库查询,然后把结果返回到前端。

从前端获取的参数带入数据库匹配后结果如下

	result 字典是这样内容
        {'urls': [http://pt.597.com/, http://school.jjoobb.cn/}
        {'ips': [http://pt.597.com/, http://school.jjoobb.cn/}
        {'ports': [http://pt.597.com/, http://school.jjoobb.cn/}
    字典的键取决于网页是否在相关输入框设置数值
    但是字典的值都是网址,类型为列表

然后回显给前端的数据如下:

    最终的结果,返回的是一个字典类型,格式如下:
    all_infos = {'1':{'url':'http://www.langzi.fun','title'='浪子博客'......}}

最后把结果给JINJA2渲染即完成。

使用方法

在目录/app/web/config.py 设置好登陆账号,密码,数据库账号密码等等

在config中可以自定义补充几个初始网址,注意格式别忘了有单引号和冒号,不过一般可以不动这个。

登陆进入后,在输入框输入想要查询的信息即可获取结果。

# 这些都是数据库信息
HOST = '127.0.0.1'
# 数据库名字,如果修改数据库名字会创建新的数据库
DATABASE = 'langzi_eyes'
USER = 'root'
PASSWORD = 'root'
PORT = 3306
DRIVER = 'pymysql'
# 线程数设置
THREADS = 50

THREADED = True
DEBUG = False

# 这两是登陆网页的账号密码
login_uesr = 'admin'
login_pass = 'admin'

# 这6个网址是初始网址,你可以替换成别的,但是注意别忘了有单引号和逗号
urls = ['http://www.hao123.com',
        'https://hao.360.cn',
        'https://www.2345.com',
        'https://123.sogou.com',
        'http://www.26595.com',
        'http://www.dn1234.com']

补充

确实这个小网站功能少,页面简单…并且我还没学JQuery,不知道怎么分页…但是以后应该会慢慢拓展,增加新的功能上去,删除一些花里胡哨的东西。既然是网址信息自动化采集,就要专注于网址信息收集,查询与提取,一些什么漏洞扫描功能的话,就不拧上去了,太杂了非我所愿。

下载地址

下载地址

展开阅读全文

没有更多推荐了,返回首页