回 复 潘多拉 送 你 一 个 特 别 推 送
疫情之下,更不要忘记学习!
中央电视台是国媒,央视网的新联栏目每天都会发布与民生息息相关的各种新联,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=