一种用于检测404软页面的分类器

soft-404的Python项目详细描述


PyPI VersionBuild StatusCode Coverage

“软”404页面是一个有200个状态的页面, 但实际上是一个页面,说明内容不可用。在

Installation

pip install soft-404

Usage

最简单的方法是使用soft404.probability函数:

^{pr2}$

也可以显式创建分类器:

>>> from soft404 import Soft404Classifier
>>> clf = Soft404Classifier()
>>> clf.predict('<h1>Page not found</h1>')
0.9736860086882132

Development

分类器在35995个域的198801页上进行训练,404页的比例约为1/3。 经10倍交叉验证,PR-AUC(平均精密度)为0.991±0.002, ROC-AUC为0.995±0.002。在

Getting data for training

安装开发人员要求:

pip install -r requirements_dev.txt

运行爬网程序一段时间(结果将出现在pages.jl.gz文件中):

cd crawler
scrapy crawl spider -o pages.jl.gz -t jl.gz -s JOBDIR=job

Training

首先,从html中提取文本和结构:

./soft404/convert_to_text.py pages.jl.gz items

这将生成两个文件items.meta.jl.gzitems.items.jl.gz。 接下来,训练分类器:

./soft404/train.py items

Vectorizer需要一段时间才能运行,但它的结果是缓存的(文件名 缓存的位置将在下次运行时打印)。 如果对结果满意,请保存分类器:

./soft404/train.py items --save soft404/clf.joblib

License

执照是麻省理工学院的。在

define hyperiongray

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在验证检查中改进构建器模式?   java如何定义一个依赖项来获取快照?   java Javafx webview在运行时不显示dashplotly应用程序   java Android kotlin单元测试用例。。?   java Android:SurfaceView,为什么要使用不同的线程   Android/Java“org.apache.http.ProtocolException”,http头应答有问题   反射如何确定类成员是否是静态的以及Java中的字段   java设置EditText以接受双值的问题   类加载器如何使用类加载器将jar从我的网站加载到java应用程序的脚本中   java GWT HTMLTable colaspan功能   java无法删除/重命名文件   java Navigableset vs Navigablemap   php中java加密方法的转换   java为什么加载我的共享对象文件会在Netbeans 8.2中出现“未满足链接”错误?   java JAXRS CXF异常包装   java程序在If语句之后执行Else语句   java将对象转换为JAXBElement<Object>