一种用于检测404软页面的分类器
soft-404的Python项目详细描述
“软”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.gz和items.items.jl.gz。 接下来,训练分类器:
./soft404/train.py items
Vectorizer需要一段时间才能运行,但它的结果是缓存的(文件名 缓存的位置将在下次运行时打印)。 如果对结果满意,请保存分类器:
./soft404/train.py items --save soft404/clf.joblib
- 项目
标签: