一种检测404软页面的分类器
soft404的Python项目详细描述
“软”404页是提供200个状态的页, 但实际上是一个说内容不可用的页面。
Installation
pip install soft404
Usage
最简单的方法是使用soft404.probability函数:
>>> import soft404 >>> soft404.probability('<h1>Page not found</h1>') 0.9736860086882132
您还可以显式地创建分类器:
>>> from soft404 import Soft404Classifier >>> clf = Soft404Classifier() >>> clf.predict('<h1>Page not found</h1>') 0.9736860086882132
Development
对25k个领域的120k个页面进行分类器训练,404个页面比例约为1/3。 经10倍交叉验证,pr-auc(平均精密度)为0.990±0.003, 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 gzip:pages.jl -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
矢量器需要一段时间才能运行,但它的结果是缓存的(文件名 缓存位置将在下次运行时打印)。 如果您对结果满意,请保存分类器:
./soft404/train.py items --save soft404/clf.joblib
License
许可证是麻省理工学院的。