SpiderKeeper 添加 Stats 链接过滤 log 最新信息

Posted my8100

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpiderKeeper 添加 Stats 链接过滤 log 最新信息相关的知识,希望对你有一定的参考价值。

0.参考

https://github.com/DormyMo/SpiderKeeper

 

1.Job Dashboard 页面添加 Stats 链接

python3.6/site-packages/SpiderKeeper/app/templates/job_dashboard.html

搜索 /log 定位

1.1 添加 Stats 表格列

技术分享图片

1.2 添加 Stats 链接

技术分享图片

 

2. 页面效果

技术分享图片

 

3. 过滤最新 log 信息

python3.6/site-packages/SpiderKeeper/app/spider/controller.py

本质上是通过 requests 请求 scrapyd 的 log 页面,再重新排版,注意 escape

搜索 /log 定位

技术分享图片

 

3.1 添加 python 代码

import re
from html import escape
@app.route("/project/<project_id>/jobexecs/<job_exec_id>/stats")
def job_stats(project_id, job_exec_id):
    job_execution = JobExecution.query.filter_by(project_id=project_id, id=job_exec_id).first()
    res = requests.get(agent.log_url(job_execution))
    res.encoding = utf-8
    #return res.text
    m = re.findall(r
.*?Redirectings+(.*, res.text)
    a = m[-1] if m else ‘‘
    m = re.findall(r
.*?Crawleds+(.*, res.text)
    b = m[-1] if m else ‘‘
    m = re.findall(r
.*?Scrapeds+froms+<.*, res.text)
    c = m[-1] if m else ‘‘
    m = re.findall(r
.*?{.*?}, res.text)
    d = m[-1] if m else ‘‘
    m = re.findall(r
.*?Crawleds+d+s+pagess+(.*, res.text)
    e = m[-1] if m else ‘‘
    return <br>.join([escape(i) for i in [a, b, c, d, e]])

 

4. log 过滤结果

技术分享图片

 

 

 

 

 

 

以上是关于SpiderKeeper 添加 Stats 链接过滤 log 最新信息的主要内容,如果未能解决你的问题,请参考以下文章

使用 git stats 显示添加、修改和删除的行数

在 pandas 数据框中按组回归并添加带有预测值和 beta/t-stats 的列

在 Admin Dashboard Stats 小部件中添加自定义订单状态

postgreSQL创建一个触发器函数:更新过student1表的数据后,更新student1_stats表中数据。

dbms_stats包更新导出导入锁定统计信息

IMPALA常用命令COMPUTE STATS简述