第 3 步,参数化,去重
去掉数据中重复的新闻,然后将最后展示的数目参数化
news_sorted_pro = sorted(news, key=itemgetter(‘news_approve_num’), reverse=True)
result = []
for news_sorted_item in news_sorted_pro:
result.append(news_sorted_item.get(‘title’))
result = sorted(set(result), key=result.index)
result = result[:self.news_num] if len(result) >= self.news_num else result
需要注意的是,由于新闻网站会经常改版,建议爬取多个新闻网站,做好异常处理,做一个优先级,如果一个网站爬取数据失败,切换到下一个级别的网站爬取数据
服务化
将数据服务化,即编写 API,目的是为了方便终端调用
如果使用 Python 编写 API,建议使用 FastAPI 或 Flask 框架,因为这两个框架开发 API 方便快捷,以 FastAPI 为例:
第 1 步,安装依赖
包含 FastAPI 框架及 hypercorn 依赖,hypercorn 是独立的 ASGI 服务器,方便 FastAPI 项目的部署
pip3 install fastapi
pip3 install hypercorn
第 2 步,编写 API
使用 FastAPI 很方便,不到 10 行代码就能编写一个接口服务
只需要实例化 FastAPI 对象,利用装饰器指定请求方法和路径即可,调用上面的爬虫方法即可。
from fastapi import FastAPI
app = FastAPI()
@app.get(“/last_news”)
def get_last_news():
“”"
最新的新闻
:return:
“”"
news = get_news()
data = {
‘code’: 0,
‘news’: news
}
return data
如要想本地调试 API,可以通过 uvicorn 命令运行项目
uvicorn news:app --reload
然后访问下面的地址,查看返回的新闻数据
第 3 步,生成依赖迁移文件
使用 pip freeze 命令将在本地生成依赖迁移文件
pip freeze > requirements.txt
第 4 步,上传代码
将代码上传到代码托管平台,比如:码云、GitLab 等
第 5 步,服务器拉取代码
服务器中通过 git 拉取代码,并通过依赖文件一键安装所有依赖
pip3 install -r requirements.txt
第 6 步,运行服务
使用 hypercorn 运行 FastAPI 项目,使进程一直在后台运行,并保存运行日志信息
需要注意的是,项目绑定的端口号需要在防火墙和云服务器安全组开启
当然,如果使用 Java 编写 API,推荐使用 Spring Boot,可以快速开发一个 Restful API 服务
编写 App
完成 API 服务之后,接下来就是在终端编写一款 App 去访问 API,拿到数据并展示出来
以编写一款 Android 应用为例
首先,我们在界面上放置一个文本显示框和一个按钮控件
然后,对按钮控件设置点击事件的监听
get_news_btn = findViewById(R.id.get_news_btn);
//监听事件
get_news_btn.setOnClickListener(this);
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.get_news_btn:
news_et.setText(“获取中。。。”);
getNewsMet();
break;
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
六、面试宝典
六、面试宝典