新型冠状肺炎之下,运用python采集央视网新闻频道再运用wordcloud生成词云,看民意关注关键词!

回 复 潘多拉 送 你 一 个 特 别 推 送

疫情之下,更不要忘记学习!

中央电视台是国媒,央视网的新联栏目每天都会发布与民生息息相关的各种新联,2019年12月份以来,从钟南山教授权威发布武汉发现的病毒可以“人传人”开始,举全国之力抗击新型冠状病毒就紧罗密布的展示了,中视网新联频道发布新闻中有哪些高频词,一起来看。

最终效果

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import requests
import json
import logging
import codecs
import json
import time,datetime
import re
from pymongo import MongoClient
import sys
from lxml import etree
from lxml import html
from urllib.parse import urlparse

引入脚本依赖的python库;

MONGO_URI = 'localhost'

MONGO_DATABASE = 'cctv'

client=MongoClient('127.0.0.1',27017)
db=client['cctv']

collection=db['daynews1']

连接本地mongodb。


分析央视网新闻频道得出数据请求规律

CRAWL_START=False #因为我把下面的结巴分词,wordclond生成词云都放在了这一个文件里,所以你看到了我定义了一个CRAWL_START的常量。为False就不会执行爬虫了,只会执行下面结巴分词完然后生成词云的逻辑if CRAWL_START:
    #获取到当前时间
    dt=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

    # logger = logging.getLogger(__name__)

    LOG_FILENAME='test.log'
    logging.basicConfig(filename=LOG_FILENAME,level=logging.INFO)#控制台编码如果与文件编码或抓取过来数据编码不一致会报错 很多打印进日志也方便查看
    headers = {#请求头信息
        'User-Agent': 'Mozilla/5.0 (Linux; Android 7.1; Mi A1 Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.83 Mobile Safari/537.36',
    }

    def logger(msg):
        # logging.info('\n')
        logging.info('\n'+str(dt)+'>>>>>>>>>>>>>>>:'+msg)

    #list数据结构转字符串下面会用到
    def listToString(s):
        # initialize an empty string
        str1 = ""

        # traverse in the string
        for ele in s:
            str1 += ele

            # return string
        return str1
    print('程序开始执行')#爬虫主体开始
    start_time=datetime.datetime.now()#记录开始时间 后边也记了结束时间 记录脚本运行时间 方便优化性能
    logging.info('>>>>>开始执行时间'+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
    for i in range(1,8,1):
        url='http://news.cctv.com/2019/07/gaiban/cmsdatainterface/page/china_%d.jsonp?cb=t&cb=chin' % (i)
        # logger(url)
        res=requests.get(url,headers=headers)#requests发起get讲求


        res.encoding = 'utf-8'#对请求结果指定编码与文件编码一致

        res=
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值