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

soft404的Python项目详细描述


PyPI VersionBuild StatusCode Coverage

“软”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.gzitems.items.jl.gz。 接下来,训练分类器:

./soft404/train.py items

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

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

License

许可证是麻省理工学院的。

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

推荐PyPI第三方库


热门话题
使用JNI在Java中调用C#代码的基本(实用)教程   java获取列表的最小和最大字符串   Java Spring异常中的延迟加载   安卓的java LWJGL端口   安卓上的java按下音量按钮?   C#相当于Java的线程。设置守护进程?   java Android Studio未能解析:com。github。Udhayarajan:liquidswipe安卓:1.0.1   Spring引导集成中MQTTPAHomeMessageHandler和MQTTPAHomeMessageDrivenChannelAdapter之间共享相同MQTT客户端实例的java   环境中的Android Studio错误。java无法解析符号com。谷歌。安卓   java Godaddy JNDI问题无法为连接URL“null”创建类“”的JDBC驱动程序   javascript无法打开到同一SockJS端点的多个连接   如何从JAVA中现有的XML节点生成新的XML   java SectionsPagerAdapter找不到片段id的视图   java通过列表一次打印出一个字符