本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于搜狗网 作者:AI科技大本营

( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )

我们总是在爬啊爬,爬到了数据难道只是为了做一个词云吗?

当然不!这次我就利用flask为大家呈现一道小菜。

Flask是python中一个轻量级web框架,相对于其他web框架来说简单,适合小白练手。使用Flask+爬虫,教大家如何实时展示自己爬下来的数据到网页上。

先给大家展示一下这个丑丑的网页 ↓

(给个面子,别笑)

整个流程就是简单的三步:

爬取数据
利用实时爬取数据生成词云
利用热点推荐新闻
爬虫部分
这次爬虫主要利用多线程方式爬取新浪新闻+网易新闻所有栏目新闻信息。

一共14个栏目,两个网站的页面信息都是通过ajax加载完成的,请求对应的栏目链接后,返回的字符串是这样的,仔细观察会发现我们要看的新闻内容被包含在data_callback里面

是一个列表样式,

这时候我们就可以用eval函数将这个字符串处理成一个列表格式

def get_wy_teach():url = 'https://tech.163.com/special/00097UHL/tech_datalist.js?callback=data_callback'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'}res = requests.get(url=url, headers=headers)# print(res.text)data = res.textdata = eval(data.replace('data_callback(','').replace(data[-1],""))

然后下面就可以循环提取出新闻内容了,最后一步就是存储到我们的mysql数据库中

当我们建立好14个栏目的爬虫后,再来编写一个主文件main,利用简单的多线程方法启动14个文件并行爬取14个栏目的新闻

def multi_thread():t1 = threading.Thread(target=xzg)t2 = threading.Thread(target=xz)#......t13 = threading.Thread(target=wy_hua)t14 = threading.Thread(target=wy_chn)t1.start()t2.start()#......t13.start()t14.start()

对了,爬虫之后我们还是做了词云的,哈哈哈

点击生成今日热点新闻词云,静待片刻

flask部分:

辅材处理完成,现在我们开始做主菜部分。

from flask import Flask,render_template,request#注册创建app应用,_name_是python预定义变量
app = Flask(__name__)#跨域请求cors
from flask_cors import CORSCORS(app, resources=r'/*')#启动爬虫页
@app.route('/test', methods=['GET'])
def mytest():main.multi_thread()time.sleep(10)return '爬取完成~'if __name__ == '__main__':app.run(debug=True,port=5000)

render_template, 用于渲染我们的h5页面
app = Flask(name),这个是flask的必写项,必须先定义模块名,用于设置路由路径(转接4)
cors跨域请求,一般用于ajax请求,CORS(app, resources=r’/*’)定义app路由中所有路径都适用于跨域请求
@app.route(’/test’),当你想使用mytest功能时候,设置了/test作用该函数的访问路径。例:http://49.233.23.230:5000/test
app.run(debug=True,port=5000),最后就是指定监听地址端口为 5000,debug=True是调试环境,用于生产环境时可更改为Flase。

这样一个个小小的Flask页面接口就完成了

接口写好了,下面我们来搞个h5页面,我们首先来建立一个简单hmtl文件(举例新闻推荐页面)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div align="" class="img"><h1>今日新闻推荐</h1><div class="img"><ul><li> <a href="{{data[0][1]}}">{{data[0][0]}}</a></li><li> <a href="{{data[1][1]}}">{{data[1][0]}}</a></li><li> <a href="{{data[2][1]}}">{{data[2][0]}}</a></li><li> <a href="{{data[3][1]}}">{{data[3][0]}}</a></li><li> <a href="{{data[4][1]}}">{{data[4][0]}}</a></li><li> <a href="{{data[5][1]}}">{{data[5][0]}}</a></li><li> <a href="{{data[6][1]}}">{{data[6][0]}}</a></li><li> <a href="{{data[7][1]}}">{{data[7][0]}}</a></li><li> <a href="{{data[8][1]}}">{{data[8][0]}}</a></li><li> <a href="{{data[9][1]}}">{{data[9][0]}}</a></li><li> <a href="{{data[10][1]}}">{{data[10][0]}}</a></li><li> <a href="{{data[11][1]}}">{{data[11][0]}}</a></li><li> <a href="{{data[12][1]}}">{{data[12][0]}}</a></li><li> <a href="{{data[13][1]}}">{{data[13][0]}}</a></li><li> <a href="{{data[14][1]}}">{{data[14][0]}}</a></li><li> <a href="{{data[15][1]}}">{{data[15][0]}}</a></li><li> <a href="{{data[16][1]}}">{{data[16][0]}}</a></li><li> <a href="{{data[17][1]}}">{{data[17][0]}}</a></li><li> <a href="{{data[18][1]}}">{{data[18][0]}}</a></li><li> <a href="{{data[19][1]}}">{{data[19][0]}}</a></li></ul></div><div class="logo-img"></div>
</div>

我们将从数据库中获取到的数据传入到h5文件

#新闻推荐
@app.route('/news')
def news_list():data = get_mysql()return render_template('index4.html', data=data)

复制粘贴20个li方便大家理解我设置今日推荐新闻条数是20条,

你也可以通过自己喜爱算法从数据库选择20条新闻推送的网页

到这,一个简陋的 Flask 网站就完成了,是不是很简单。

Flask 是个小巧、灵活的web框架,可以让自己决定定制哪些功能,灵活定制组件,非常适用于小型网站。

结语:(网站想要漂亮,还是要学一下h5,别学我)

Python爬虫-带你自制新闻网站,先学先会一起来学吧相关推荐

  1. python 制作自己的新闻_Python爬虫-带你自制新闻网站,先学先会一起来学吧

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于搜狗网 作者:AI科技大本营 ( 想要学习Python?Python ...

  2. ❤️大佬都在学什么?Python爬虫分析C站大佬收藏夹,跟着大佬一起学, 你就是下一个大佬❤️!

    ❤️大佬都在学什么?Python爬虫分析C站大佬收藏夹,跟着大佬一起学,你就是下一个大佬❤️! 前言 程序说明 数据爬取 获取 CSDN 作者总榜数据 获取收藏夹列表 获取收藏数据 爬虫程序完整代码 ...

  3. Python爬虫实例:自制翻译机(简单)

    文章目录 Python爬虫实例:自制翻译机 要求实现功能:用户输入英文或中文,程序即可打印出来对应的译文. 步骤 解决反爬 上码 加界面 结果展示 Python爬虫实例:自制翻译机 一起试试爬取有道翻 ...

  4. url没有参数名怎么直接带参数_用30行Python爬虫带你看PLMM(划掉,喵星人)

    偶尔写写爬虫也算是打磨无聊生活的一种方式了. 之前写了一个用100多行Python爬虫看世界的帖子,有兴趣的朋友可以看一下. 带你用100多行Python爬虫看看今天的世界(上) 带你用100多行Py ...

  5. Python爬虫带你爬取美剧网站

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:哲洛不闹 一直有爱看美剧的习惯,一方面锻炼一下英语听力 ...

  6. python自带的集成开发环境是什么-跟老齐学Python之集成开发环境(IDE)

    当安装好python之后,其实就已经可以进行开发了.下面我们开始写第一行python代码. 值得纪念的时刻:Hello world 如果是用windows,请打开CMD,并执行python. 如果是U ...

  7. 广州地震了!地震到底离我们有多近,Python 爬虫带你了解

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 接天莲叶无穷碧,映日荷花别样红. ...

  8. python爬虫——带你爬取古诗名句,考试什么的不就是轻轻松松

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:py3study ( 想要学习Python?Pytho ...

  9. Python爬虫-带你爬取高清美女图片

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:明天依旧可好 ( 想要学习Python?Python学 ...

最新文章

  1. 真正拖垮年轻人的,是沉没成本
  2. 【Git】将 GitHub 工程设置为私有库 ( 登录账号 | 工程主页 | Settings | Danger Zone | Change visibility | Make private )
  3. 算法—详细讲解单向循环链表的实现(python)
  4. GridView中FooterTemplate模板下内容不显示
  5. 啥,不懂Docker 和 K8s 是原罪?
  6. 调试记录- error: #error “must enable c++17“
  7. 这个微型机器人可以在人体内“游泳”
  8. [React]你有用过哪些React的表单库吗?说说它们的优缺点
  9. myeclipse上进行tomcat远程调试
  10. 互联网、电商及游戏行业实时BI分析方案
  11. Java中String类中compareTo( )方法
  12. Github Clone to local files
  13. MyBatis-Plus-Generator配置
  14. ffmpeg代码实现自定义decoder
  15. c语言实现开方,c语言开方(c语言开平方代码)
  16. 【手机连接adb的两种方法】
  17. 宏电GPRS DTU H7210调试报告之DEMO测试
  18. Dynamo常用节点包下载方法
  19. 【人工智能项目】机器学习中文垃圾邮件分类任务
  20. FileSaver+xlsx 表格下载为excel

热门文章

  1. 所有的错误都是精心包装的礼物
  2. matlab的meshgrid函数详解
  3. 第5次递交招股书,见知教育“逆风”上市能否如愿?
  4. 香烟爱上火柴就注定被伤害…
  5. oracle外键约束强行insert,oracle 禁用外键约束
  6. Chinese Postman Problem Aizu - DPL_2_B(无向图中国邮路问题)
  7. [附源码]Java计算机毕业设计SSM防疫物资捐赠系统
  8. 第27次CCF CSP(202209) T3非常详细题解 防疫大数据(C++)
  9. java中的熔断机制_微服务熔断机制与Hystrix原理
  10. Chrome强大之一-----人人网批量下载相册图片