• week07 13.1 NewsPipeline之 一 NewsMonitor


    我们要重构一下代码

    因为我们之前写了utils 我们的NewsPipeline部分也要用到

    所以我们把他们单独独立得拿出来

    删掉原来的

    将requirements。txt也拿出去

     现在我们搬家完成

    我们修改一下我们backend里面依赖这些的文件

    service。py

    不在是同级目录下

    而是在父一级 叫common的文件夹下

    准备工作完成

    下面做一下NewsAPI 的 client

    这样后边的news monotor就不会被news api限制 不依赖他

    他想用哪个api就用哪个api的client调方法就行了

    这是模块化的想法实现和接口分开

    我们需要一个库requests

     

    不用sudo sudo会全局安装

    https://stackoverflow.com/questions/14665330/pip-requirement-already-satisfied

    然后再去requirements。txt里面添加

    然后我们回来写news_api_client

     

    大部分都支持top排序

     

    然后我们test一下

    包大小写搞错了 然后 loads包忘记加了

     OK 说明木有问题

    完了news_api_client

    我们要去做news monitor了

    我们这里需要redis

    然后我们

    但是不在一个文件下

    所以要

    就可以引入2个了

    需要一些常量

    指定源头 不指定也是她 默认是她 多了 就写进去

    建立一个redis client

    他就是地请求api

    需要一个库 不需要下载 自己带的

     

    这里有个神奇的注释可以告诉python都按utf-8来进行编码  所有和爬虫的地方 都要用这个注释

    一般设置10s 保持心跳而不断线 

    这个sleep方法 在

    下面我来测试一下

    首先先打开redis服务

    然后

    来测试一下我们的

    额 名字写错了

    名字写错了

    成功抓了9条新新闻

    10s后

    以上就是News Monitor 从api获取新闻摘要 再把他放入 Q里面

     

  • 相关阅读:
    65 组件 静态文件相关 视图
    作者和书籍的增删改查 多对多
    64 装饰器函数: 母版 csrf防御机制 cookie
    61 书籍和出版社 的增删改查 几秒后跳转一个页面
    60 Django项目 单表(出版社)的增删改查 __str__方法及格式化输出 的两个方法
    模块 itertools
    59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用
    nginx 并发数
    设置tomcat最大内存
    goaccess安装
  • 原文地址:https://www.cnblogs.com/PoeticalJustice/p/9599957.html
Copyright © 2020-2023  润新知