来源 | 凹凸数据(ID:alltodata)

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

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

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

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

(给个面子,别笑)

演示三个功能

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

爬取数据

利用实时爬取数据生成词云

利用热点推荐新闻

爬虫部分

这次爬虫主要利用多线程方式爬取新浪新闻+网易新闻所有栏目新闻信息。

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

图2

是一个列表样式,

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

defget_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.text

data = eval(data.replace('data_callback(','').replace(data[-1],""))

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

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

defmulti_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 CORS

CORS(app, resources=r'/*')

#启动爬虫页

@app.route('/test', methods=['GET'])

defmytest():

main.multi_thread()

time.sleep(10)

return'爬取完成~'

'__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文件(举例新闻推荐页面)

htmllang="en">

head>

metacharset="UTF-8">

title>Titletitle>

head>

body>

divalign=""class="img">

h1>今日新闻推荐h1>

divclass="img">

ul>

li>ahref="{{data[0][1]}}">{{data[0][0]}}a>li>

li>ahref="{{data[1][1]}}">{{data[1][0]}}a>li>

li>ahref="{{data[2][1]}}">{{data[2][0]}}a>li>

li>ahref="{{data[3][1]}}">{{data[3][0]}}a>li>

li>ahref="{{data[4][1]}}">{{data[4][0]}}a>li>

li>ahref="{{data[5][1]}}">{{data[5][0]}}a>li>

li>ahref="{{data[6][1]}}">{{data[6][0]}}a>li>

li>ahref="{{data[7][1]}}">{{data[7][0]}}a>li>

li>ahref="{{data[8][1]}}">{{data[8][0]}}a>li>

li>ahref="{{data[9][1]}}">{{data[9][0]}}a>li>

li>ahref="{{data[10][1]}}">{{data[10][0]}}a>li>

li>ahref="{{data[11][1]}}">{{data[11][0]}}a>li>

li>ahref="{{data[12][1]}}">{{data[12][0]}}a>li>

li>ahref="{{data[13][1]}}">{{data[13][0]}}a>li>

li>ahref="{{data[14][1]}}">{{data[14][0]}}a>li>

li>ahref="{{data[15][1]}}">{{data[15][0]}}a>li>

li>ahref="{{data[16][1]}}">{{data[16][0]}}a>li>

li>ahref="{{data[17][1]}}">{{data[17][0]}}a>li>

li>ahref="{{data[18][1]}}">{{data[18][0]}}a>li>

li>ahref="{{data[19][1]}}">{{data[19][0]}}a>li>

ul>

div>

divclass="logo-img">

div>

div>

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

python 爬取财经新闻_Python爬虫并自制新闻网站,太好玩了相关推荐

  1. python爬取学校新闻_python爬虫爬取新闻的简单实现

    我们通常是使用爬虫爬取网站信息,其实网络爬虫是一种应用于搜索引擎的程序.使用python爬虫可以将一个网站的所有内容与链接进行阅读.例如我们每日都要获取新闻信息,利用python爬虫就可以帮助我们爬取 ...

  2. python 爬取财经新闻_Python光大证券中文云系统——爬取新浪财经新闻

    [任务目标] 调通光大证券中文云系统 [任务进度] 依据Github光大证券中文云系统开源的说明文档,应该是分爬虫模块.检索模块.统计模块.关键词频模块和关键词网络模块,是一个整体非常庞大的系统.现在 ...

  3. python爬取凤凰新闻_Python爬虫实践(10)--爬取凤凰网汽车资讯详情

    本期为python爬虫实践的第十节,传送门: python 通过上一期教程的代码,我们已经可以抓取到凤凰网汽车频道的资讯列表.本期教程,我们接着上一期的代码,去进一步获取资讯的详细内容. 资讯列表信息 ...

  4. python 爬取财经新闻_金融财经新闻的文本爬取

    大家一定还记得<金融数据的获取--一个爬虫的简单例子>这篇文章中介绍的爬虫思想和方法吧.看过之后,大多数人都会有这样的感受,虽然爬虫的原理比较简单,但是正则表达式却很难写.对于每个页面内容 ...

  5. python爬取cctalk视频_python爬虫urllib使用和进阶 | Python爬虫实战二

    python爬虫urllib使用和进阶 上节课已经介绍了爬虫的基本概念和基础内容,接下来就要开始内容的爬取了. 其实爬虫就是浏览器,只不过它是一个特殊的浏览器.爬取网页就是通过HTTP协议访问相应的网 ...

  6. python爬取豆瓣小组_Python 爬虫实例+爬取豆瓣小组 + wordcloud 制作词云图

    目标 利用PYTHON爬取如下图中所有回答的内容,并且制作词云图. 用到的库 import requests # import json from PIL import Image from pyqu ...

  7. python爬取控制台信息_python爬虫实战之爬取智联职位信息和博客文章信息

    1.python爬取招聘信息 简单爬取智联招聘职位信息 # !/usr/bin/env python # -*-coding:utf-8-*- """ @Author  ...

  8. python 爬取财经新闻股票_Python进阶量化交易专栏场外篇20-爬虫抓取股票论坛帖子...

    欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...

  9. python 爬取财经新闻_如何用 100 行 Python 代码实现新闻爬虫?

    CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 每天我都要坐地铁上班,而地铁里完全没有手机信号.但我希望在坐地铁的时候读些新闻,于是就写了下面这个新闻爬虫. 我 ...

  10. python爬取网页停止_Python爬虫之爬取静态网页

    所谓网络爬虫,通俗的讲,就是通过向我们需要的URL发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息.所以,想要学习python爬虫,需要具备一些http的 ...

最新文章

  1. 上海有线通共享上网设置(解决大部分局域网问题)
  2. yii框架phpexcel
  3. 2-sat模板- 输出可行解
  4. -bash: lsof: 未找到命令
  5. 关于在hue当中执行定时任务,时间的设置。
  6. Android NFC开发详细总结
  7. python驱动级模拟按键大师_AB叔_C#驱动级模拟按键操作
  8. linux添加网络节点,Pi网络节点配置教程(windows10专业版)
  9. Quartus破解步骤及常见错误解决方法
  10. 基于微信小程序评选投票系统 开题报告
  11. 在HTML中打出人民币符号和对勾符号
  12. java pdf 套打_itext生成发票套打(操作PDF)
  13. MCU内部参考电压几种妙用你都知道嘛
  14. 【攻击威胁】女巫攻击(sybil attack)
  15. 计算机域名是什么域名?
  16. JAVA判断当前日期是否是工作日,还是节假日
  17. C语言笔记——题目“股神”
  18. 2016乌云白帽大会企业场(主会场)
  19. 如何写 [文献综述]
  20. 【Machine Learning】机器学习之一些数学相关的知识储备

热门文章

  1. TensorFlow镜像安装(Anaconda)
  2. 复杂网络分析——networkx的使用
  3. 北京软件开发公司排名-最大的软件开发公司有哪些呢
  4. python和c 情侣网名_qq情侣网名个性网
  5. 分式智能计算机在线计算,全能智能计算器
  6. 无心剑英译许巍《温暖》
  7. 计算机应用基础上海交通大学出版社双色版,计算机应用基础模块化教程
  8. 安卓手机变鼠标图文教程
  9. 控件ShowWindow(SW_HIDE)不起作用
  10. 决策树的特性及优缺点