爬虫新闻文章

核心提示来源 | 凹凸数据我们总是在爬啊爬,爬到了数据难道只是为了做一个词云吗?当然不!这次我就利用flask为大家呈现一道小菜。Flask是python中一个轻量级web框架,相对于其他web框架来说简单,适合小白练手。使用Flask+爬虫,教大

源|凹凸数据

我们一直在攀登,攀登,向数据攀登。难道只是为了造一个字云?

当然不是!这一次,我将使用flask为您呈现一道配菜。

Flask是python中的一个轻量级web框架。与其他web框架相比,它比较简单,适合小白实践。用Flask+ crawler教你如何在网页上实时显示你抓取的数据。

我先给你看看这个难看的网页↓

整个过程是三个简单的步骤:

抓取数据,利用实时抓取数据生成词云,利用热点推荐新闻

履带部件

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

一共14列,两个网站的页面信息都是用ajax加载的。请求相应的列链接后,返回的字符串是这样的。仔细观察会发现,我们想看的新闻内容就包含在data_callback中。

是列表样式,

此时,我们可以使用eval函数将这个字符串处理成列表格式。

def get _ wy _ teach:URL = ' https://tech . 163 . com/special/00097 uhl/tech _ datalist . js callback = data _ callback ' headers = { ' User-Agent ':' Mozilla/5.0 Apple WebKit/537.36 Chrome/80 . 0 . 3987 . 163 Safari/537.36 ' } RES = requests . get # print data = RES . text data = eval . replace)然后可以循环提取新闻内容,并

在我们设置好14个栏目的爬虫之后,我们将编写一个主文件,并使用一个简单的多线程方法并行启动这14个文件并抓取14个栏目的新闻。

def multi _ thread:t1 = threading . thread T2 = threading . thread #...t13 = threading . thread t14 = threading . thread t1 . start T2 . start #...t13.startt14.start对了,爬虫之后我们做了词云,哈哈哈。

点击生成今日热点新闻词云稍等片刻。

烧瓶部分:

辅料加工完毕,现在开始上主菜。

从Flask导入Flask,Render _ Template,Request # Register创建app应用,_name_是python预定义变量app = Flask#跨域请求CORS从FLASK _ CORS导入CORS CORS #启动爬虫页面@ app . routed ef mytest:main . multi _ thread time . sleep return '爬行完成~ ' if _ _ name _ _ = ' _ _ main _ ':app . run Render _ Template,用来渲染我们的h5页面app = Flask,这是Flask的必选项。首先必须定义模块名,用于设置cors跨域请求的路由路径,一般用于ajax请求。CORS定义app路由中的所有路径都适用于跨域请求@ app.route,当你要使用mytest函数时,设置/test的访问路径。示例:http://49.233.23.230:5000/testapp.run,最后,指定监听地址的端口为5000,debug=True为调试环境,在生产环境中使用时可以改为Flase。这样一个小烧瓶页面界面就完成了。

界面写好了,我们来做一个h5页面。首先,让我们创建一个简单的hmtl文件。

Title {{data[0][0]}}今日新闻推荐

  • {{data[1][0]}}
  • {{data[2][0]}}
  • {{data[3][0]}}
  • {{data[4][0]}}
  • {{data[5][0]}}
  • {{data[6][0]}}
  • {{data[7][0]}}
  • {{data[8][0]}}
  • {{data[9][0]}}
  • {{data[10][0]}}
  • {{data[11][0]}}
  • {{data[12][0]}}
  • {{data[13][0]}}
  • {{data[14][0]}}
  • {{data[15][0]}}
  • {{data[16][0]}}
  • {{data[17][0]}}
  • {{data[18][0]}}
  • {{data[19][0]}}
  • 我们将从数据库中获得的数据转移到h5文件中。

    #新闻推荐@ app . routed ef news _ list:data = get _ MySQL return render _ template复制粘贴20 li让大家看得懂。我把今天推荐的新闻文章数量定为20篇。

    你也可以用你喜欢算法从数据库中选择20个新闻推送的网页。

    至此,一个简单的Flask网站就完成了,是不是很简单?

    Flask是一个小巧灵活的web框架,允许你决定定制哪些功能,灵活定制组件。非常适合小网站。

    结论:

     
    友情链接
    鄂ICP备19019357号-22