zoukankan      html  css  js  c++  java
  • week07 13.4 NewsPipeline之 三 News Deduper

    还是循环将Q2中的东西拿出来 

    然后查重(去mongodb里面把一天之内的新闻都拿出来,然后把拿到的新的新闻和mongodb里一天内的新闻组一个 tf-idf的对比)可看13.3

    相似度检查 如果超过一定的值 我就认为他是一个老的新闻 丢掉 不插入数据库

    吐过相似度低于那个值 我们就认为他是新的新闻 然后插入数据库里面

     

     上面是需要的配置信息

     

    后边mongodb是支持按照时间范围查找数据的

    比如一天 设置一个时间的上界和下界 他们之间的时间设置成1天 那么就可以查出一天内的数据

    下界就是昨天的时间戳 上界就是现在的时间

    所以要用到datatime

    进行处理

     

     需要安装

    最后放到mongodb

    验证一下

    我们将redis 和数据库都清理一下

    先清理数据库

    将tap-news数据下collections的news下的2条数据删除了

    redis清除数据缓存

    然后我们从monitor开始 fetcher最后deduper都执行一遍

    首先抓

     

    然后

    最后

     

     

    最后呢 我们知道XPATH不是很方便 我们用第三方工具newspaper

    安装

    这个问题的解决 13.5 https://i.cnblogs.com/EditPosts.aspx?postid=9609542

    安装后我们需要改一下new_fetcher

    newspaper

     我们来测试一下

    我改了 python默认版本 本来默认是python2.7 我改成3.6.5啦 所以执行python2.7的文件要python2 xx.py 

    具体参考https://blog.csdn.net/hymanjack/article/details/80285400

    python2 news_fetcher.py

    说明是工作的

    newpaper不单单只是支持一个源 cnn 他支持多个源 只要你提供api

    你可以添加你想要的源 只要api支持

    这些源的名字不是瞎写的 我们是在api news提供api的那个网站的找的

     

    黑字部分都可以

     我们有了这三monitor fetcher deduper 每次都手动命令 就很麻烦 所以 我们还是写个脚本 以后只要一条命令就搞定了

    pip也要改成pip2

    具体看

    https://www.cnblogs.com/PoeticalJustice/p/9570352.html

    https://www.howtoing.com/how-to-install-mongodb-on-ubuntu-18-04

    然后改变他的权限 (变绿)才能生效

    chmod +x news_pipeline_launcher.sh

     打开之后ctrl+c 结束不了 因为那3个py文件在跑 你可以执行一条命令

    来直接结束他

    sudo killall python2

     以上

  • 相关阅读:
    day21继承
    day22
    面向对象
    常用模块
    模块
    迭代器
    【游记】2020-CSP
    【初赛解析】2021CSP-S初赛解析(不完全)
    【题解】AcWing 1390.通电围栏
    【题解】AcWing 1387.家的范围
  • 原文地址:https://www.cnblogs.com/PoeticalJustice/p/9604445.html
Copyright © 2011-2022 走看看