💡WebScan功能介绍
模块功能介绍
scrapy模块主要功能是实现站点页面爬取,爬取该站点的所有url
页面爬取
可以手动添加多条起始url
支持从起始url开始进行全站爬取
支持自定义爬取深度
支持设置域名限制
设置响应等待时间
应对反爬策略
爬取延时时间设置
添加IP代理池
是否遵从robots.txt协议
是否使用随机User-Agent头
cookie添加
spider在生成时接收两个初始化参数:
1.custom_settings单独对spider做一些系统上的设置:
在Scrapy中,可以通过custom_settings属性来设置Spider的自定义配置。custom_settings属性是一个字典,可以包含一系列自定义配置项,用于覆盖全局配置或为特定Spider提供特定的配置。
使用custom_settings属性可以在Spider级别上为特定的Spider指定一些自定义配置项,而不影响其他Spider。这对于需要对不同Spider进行细粒度的配置非常有用。
以下是一些常见的自定义配置项,可以在custom_settings属性中设置:
DOWNLOAD_DELAY:设置请求之间的下载延迟,可以减缓爬取速度。CONCURRENT_REQUESTS:同时发送的请求数量上限。CONCURRENT_REQUESTS_PER_DOMAIN:每个域名下同时发送的请求数量上限。CONCURRENT_REQUESTS_PER_IP:每个IP地址下同时发送的请求数量上限。ROBOTSTXT_OBEY:是否遵守网站的robots.txt规则。USER_AGENT:设置请求的User-Agent头。random_ua
COOKIES_ENABLED:是否启用Cookies中间件,用于处理Cookie相关的功能。ITEM_PIPELINES:指定数据处理管道的顺序和配置。
通过在Spider中设置custom_settings属性,可以在一定程度上覆盖Scrapy的默认配置,以适应特定Spider的需求。
传递格式如下:
提供一系列接口实现各个插件的运行,也给提供了一些接口方便插件实现功能
PART 1:PluginManager插件管理器
目的:实现多个插件的同时运行,插件的加载,插件的注册,插件信息的展示
根据用户选择,加载对应插件
列出对应插件参数
多线程同时运行多个插件
展示插件运行结果
消息队列处理多个插件返回结果
自行导入插件,同时安装插件依赖python库
PART 2:MessageManager插件消息管理器
目的:实现一个监听线程处理插件返回的消息
处理插件返回的消息
处理插件返回的日志
储存插件返回的结果
PART 3:plugins.Interface插件接口
Interface.Trans_message(message)
向插件系统传递消息,插件系统会根据message处理消息
Get_HTMLExtractor(HTML="")
获取一个HTML解析器,HTML提取器将会解析html的input输入框,form表单,textarea多行输入框,接口使用实例
Get_SelfDefExtractor(setting={})
获得一个自定义提取器,提取指定的html元素
setting格式如下:
接口用法:
request_input(args)
针对使用HTMLExtractor.extract_input()提取器提取的input输入框结果,发送请求的一个接口,返回一个响应
request_form(args)
针对使用HTMLExtractor.extract_form()提取器提取的表单结果,发送请求的一个接口,返回一个响应
接收参数详解:
Get_Storage()
获得一个Storage对象用于向对数据库的操作:1.创建表单 2.向指定表单插入数据
Get_file(plugin,filename,type)
获得该插件的工作路径下的文件操作
参数介绍:
用法案例:
Get_a_file(file_path,type)
获得一个文件操作:
Get_url_from_scrapy(project_name)
从scrapy扫描结果载入url文件
project_name:项目名
用法案例:
提取模块用于提取各种类型的信息。
目的:提取模块为了给插件模块实现一个能够提取页面的接口而编写
提取URL
提取input输入框信息包括post和get提交的
提取多行输入框
提取表单
自定义提取器
存储模块由两个库实现:1.Store库 2.Recorder库
Store库实现数据库交互部分
目的:为插件系统提供一系列接口实现:插件与数据库交互
与数据库建立连接
自定义生成表单
自适应插入数据
Recorder库实现日志存储和文件存储
目的:为插件系统提供一系列接口实现:项目工作文件夹的创建,记录日志,存储插件运行结果
创建项目文件夹,每次运行一个检测项目,自动生成项目文件夹,插件文件夹,并根据消息队列处理结果存储项目日志,插件日志,插件结果
通过插件返回的结果将结果存入对应插件的工作文件夹
通过插件返回的日志将日志完善并将其存入插件的工作文件夹
目前只实现了把结果制表
Got 2 minutes? Check out a video overview of our product:
最后更新于
这有帮助吗?