前言

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

作者:朱小五

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

12月1日,《咬文嚼字》编辑部以一首“顺口溜”发布2019年度十大流行语。“文明互鉴”、“区块链”、“硬核”、“融梗”、“××千万条,××第一条”、“柠檬精”、“996”、“我太难/南了”、“我不要你觉得,我要我觉得”、“霸凌主义”十条流行语入选。

微博评论下有很多网友纷纷表示,XXX为什么能上榜?XXX为什么没上榜?

这点呢,小五表示理解,毕竟采用不同的统计口径得出的结论可能不同。

那么,小五干脆也自己定义个统计口径,重新“定义”一下【2019十大网络流行语】

获取数据

通过搜索“网络流行语”,可以发现已经有网站帮我们做了整理。

利用python爬虫可以获取该网站的2019年度所有网络流行语。

 def main():
data = []
n = 1
for i in range(4542,5589):
dic = {}
url = 'https://www.lxybaike.com/index.php?doc-view-'+str(i)+'.html'
print('已成功采集{}条数据'.format(n))
html = restaurant(url)
doc = pq(html)
dic['tittle'] = doc('#doctitle').text()
dic['num'] = doc('#doc-aside > div.columns.ctxx > ul > li:nth-child(1)').text()
data.append(dic)
time.sleep(random.random())
n = n + 1
return data

爬取成功√

共929个词语。

我们在获取这些热门流行词的同时,也获取了他们的一些其他数据,比如浏览次数和出现时间。

但浏览次数很难作为评判这个词语是否热门的指标,毕竟大家又不是都来这个网站搜索,所以还是需要一个全网的数据才更准确一点。

一开始选择了百度指数,结果发现很多词语没有收录,需要付费。于是我就选用了搜狗指数!

将刚才爬取得到的929个网络流行语,可以根据下面式子来构造url。

urls= 'http://zhishu.sogou.com/index/searchHeat?kwdNamesStr='+str(name)+'&timePeriodType=YEAR&dataType=SEARCH_ALL'

再循环爬取依次得到他们的年度平均搜索指数。

成功得到2019年度网络热门流行词排行榜(凹凸玩数据版)!

其中标记绿色的词语为2018年末出现,在2019年开始流行,在统计时也列入列入2019流行语中。

2019网络热门流行词排行榜

根据上文得到的热门流行词排行榜,小五又搜集了一些网上的资料 ,利用PS来制作了十张流行词的解释图。

下面开始颁奖:

一千个人眼中就有一千个哈姆雷特。

相信每个人心里都有自己的一个流行语排行榜。

完整代码

 import requests
from pyquery import PyQuery as pq
import pandas as pd
import time
import random
from fake_useragent import UserAgent
ua = UserAgent()

headers = {'User-Agent':ua.random}

def main():
data = []
n = 1
for i in range(4543,4550): #自己设置id范围
dic = {}
url = 'https://www.lxybaike.com/index.php?doc-view-'+str(i)+'.html'
print('已成功采集{}条数据'.format(n))
html = requests.get(url,headers=headers).text
doc = pq(html)
dic['tittle'] = doc('#doctitle').text()
dic['num'] = doc('#doc-aside > div.columns.ctxx > ul > li:nth-child(1)').text().replace('浏览次数:','').replace(' 次','')
dic['zan'] = doc('#ding > span').text().replace('[','').replace(']','')
dic['id'] = i
data.append(dic)
time.sleep(random.random())
n = n + 1
return data

if __name__ == '__main__':
data = main()
final_result = pd.DataFrame(data)
final_result.to_csv('凹凸玩数据.csv',encoding="utf_8",index = False)

用python重新定义【2019十大网络流行语】的更多相关文章

  1. python基础__十大经典排序算法

    用Python实现十大经典排序算法! 排序算法是<数据结构与算法>中最基本的算法之一.排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大, ...

  2. 2019十大安卓手游折扣平台app排行榜

    2019游戏版号陆续开放,玩家又有许多好游戏可以玩了. 小编就以当前最热门的十个游戏来点评手游折扣平台App排行榜吧! 排名第一的游戏: 少年西游记-新征程 老平台,集成SDK,良心平台,覆盖全网游戏 ...

  3. python学习笔记(十二)-网络编程

    本文结束使用 Requests 发送网络请求.requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求. ...

  4. Python中的十大图像处理工具

    转自:微信博客 机器学习研究会订阅号 微信号 功能介绍机器学习研究会由百度七剑客雷鸣先生创办,旨在推动AI的技术发展和产业落地.参与组织北大.清华”AI前沿与产业趋势“公开课,广泛的和高校.企业.创业 ...

  5. 网络营销行业十大看了就想吐的“滥词”

    网络营销行业在国内的互联网界已"猖獗"数年之久,它是一个让企业爱让用户恨的行业.有互联网的地方,就有网络营销的机会,有了机会就有了相关产业的存在,只不过是业大业小的问题.但是随着互 ...

  6. [Python]小百合十大爬虫

    国庆几天在家看了几篇关于使用Python来编写网络爬虫的博客,想来自己断断续续学习Python也有几个月了,但一个像样的程序都没有写过,编程能力并没有得到提高,愧对自己花费的时间.很多时候虽然知道什么 ...

  7. Python语言在企业级应用上的十大谬误

    英文原文:https://www.paypal-engineering.com/2014/12/10/10-myths-of-enterprise-python/ 翻译原文:http://www.os ...

  8. Python不能用于大型项目?人们对Python的十大误解

    Python 类型系统的特点是拥有强大.灵活的类型操作. 维基百科上对此作出的阐述. 而存在一个不争而有趣的事实是, Python 是比Java更加强类型的. Java 对于原生类型和对象区分了类型系 ...

  9. 一起来全面解析5G网络领域最关键的十大技术

    提到5G,很多人的第一印象就是它的网络速度快.延时性低.带宽大,没错,这就是5G时代的特点!5G作为第五代移动通信网络,其峰值理论传输速度可达每秒数十Gb,这比4G网络的传输速度快数百倍,整部超高画质 ...

随机推荐

  1. 曹工杂谈:Spring boot应用,自己动手用Netty替换底层Tomcat容器

    前言 问:标题说的什么意思? 答:简单说,一个spring boot应用(我这里,版本升到2.1.7.Release了,没什么问题),默认使用了tomcat作为底层容器来接收和处理连接. 我这里,在依 ...

  2. 基于antd封装一个高可用form组件 减少cv代码导致的bug

    引言 在开发中台过程中 我们的原型中有很多表单,antd有表单组件,但是粒度比较细,就单纯组件而言,无可厚非,但是在开发过程中,可能会造成代码不够聚合,有些表单公共逻辑无法提取,copy paste比 ...

  3. 程序计数器(PC)、堆栈指针(SP)与函数调用过程

    PC(program counter)是CPU中用于存放下一条指令地址的寄存器,SP为堆栈指针.下面将介绍函数调用过程中CPU对PC和SP这两个寄存器的操作. 假设有如下函数Fun Fun() { … ...

  4. 关于简单的Excel多页签底层导出_电子底账导出为例(.net core)

    [HttpPost] public ActionResult ExpEleAcc(string linknos) { string filenname = null; CommonResult< ...

  5. Unity3d 与 Objective-C 数据交互,持续更新中

    Unity 3D是用于3D游戏编程的语言,它是一个用C\C++编写的强大的库.而在游戏中经常要接入用OC编写的SDK,这就涉及到了Unity3d 和 OC之间的数据交互.XCode是完成兼容C语言的. ...

  6. CoderForces-Round60D(1117) Magic Gems

    D. Magic Gems time limit per test 3 seconds memory limit per test 256 megabytes input standard input ...

  7. jquery (对内容,元素,属性,class的操作)

    对内容的操作: 捕获:获得内容 text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML 标记)val() - 设置或返回表单字段的值. 设置:设置内容 ...

  8. Seata 配置中心实现原理

    Seata 可以支持多个第三方配置中心,那么 Seata 是如何同时兼容那么多个配置中心的呢?下面我给大家详细介绍下 Seata 配置中心的实现原理. 配置中心属性加载 在 Seata 配置中心,有两 ...

  9. Codeforces Round #591 (Div. 2)

    A. CME 题目链接:https://codeforces.com/contest/1241/problem/A 题意: 你有 N 根火柴 , 多少根火柴就可以组成多大的数(如 三根火柴可以表示 3 ...

  10. [ASP.NET Core 3框架揭秘] 配置[3]:配置模型总体设计

    在<读取配置数据>([上篇],[下篇])上面一节中,我们通过实例的方式演示了几种典型的配置读取方式,接下来我们从设计的维度来重写认识配置模型.配置的编程模型涉及到三个核心对象,分别通过三个 ...