【爬虫数据集】李子柒YouTube频道TOP10热门视频的TOP2000热门评论,共计2W条

目录
  • 一、背景
  • 二、爬取目标
  • 三、结果展示
  • 四、演示视频
  • 五、附完整数据

一、背景

这段时间,有超多小伙伴找我要YouTube数据,做数据分析、情感分析之类的研究工作,但很多人并不是计算机软件相关专业,不具备爬虫开发技术,但又有数据需求,可能是新闻传播学、社会学等相关学科,旨在分析社会热点现象下各国网友的评论关键词、舆论舆情导向、评论感情色彩等研究内容,缺少数据源分析对象。
基于此研究目的,所以我的采集对象,无论是视频,还是评论,都选择按热门排序。这样的数据才最具代表性,最能体现网友的核心关注点和舆论倾向!
由此确定以下爬取目标。

二、爬取目标

爬取目标:李子柒频道TOP10热门视频的TOP2000热门评论(共计2w条)
李子柒是国内有代表性的youtuber之一,我用爬虫爬取的TOP10热门视频的评论:

每个视频下方的TOP2000评论,同样按热门排序。比如TOP1视频的评论如下:

也就是李子柒频道的10个视频,每个视频2000条评论,共2w条评论,爬取完成。(10*2000=2w)

三、结果展示

先看下我整理的李子柒TOP10热门视频列表:

下面看爬取到的评论数据。
共10个评论数据文件,每个文件对应一个视频,每个文件内含2000条评论。
(文件名并不是乱码,而是YouTube视频id号哦)

随便打开一个文件,比如TOP1热门视频的评论,看下内容:
包含字段:评论id、评论内容、评论时间、评论作者、作者频道、点赞数。

四、演示视频

http://www.zhihu.com/zvideo/1542810103975407616

五、附完整数据

完整数据: 【爬虫数据分享】李子柒YouTube频道TOP10热门视频的TOP2000热门评论


本文转载于网络 如有侵权请联系删除

相关文章

  • Python字符串与时间相互转换

    大家好,又见面了,我是你们的朋友全栈君。1、字符串转日期/时间注意,字符串格式要与参数中时间格式要严格匹配,否则异常举例:①2019-05-0112:00:00对应%Y-%m-%d%H:%M:%S②2019-05-01对应%Y-%m-%d2、日期/时间转字符串3、打印系统当前时间代码如下:#coding:utf-8 importdatetime importtime #1.字符串转日期 detester='2019-05-01' date=datetime.datetime.strptime(detester,'%Y-%m-%d') print(date) #2.日期转字符串 date=datetime.datetime.now() print(date) detester=date.strftime('%Y-%m-%d') print(detester) #3.打印当前时间 current_time=time.strftime("%Y-%m-%d%H:%M:%S",time.localtime())

  • 腾讯宣布开源 RoP:Apache Pulsar 支持原生 RocketMQ 协议

    作者|冉小龙,刘昱RocketMQ用户可以无缝迁移到ApachePulsar了。自此,ApachePulsar补齐了兼容主流消息队列协议的能力。我们很高兴地宣布腾讯云中间件开源RoP!RoP将RocketMQ协议处理插件引入Pulsarbroker,这样Pulsar就能支持原生RocketMQ协议了。什么是RoP?与KoP、MoP和AoP相似,RoP是一种可插拔的协议处理插件。将RoP协议处理插件添加到现有Pulsar集群后,用户无需修改代码,便能将现有的RocketMQ应用程序和服务迁移到Pulsar,同时还能使用Pulsar的强大功能,例如:计算与存储分离多租户跨地域复制分层分片轻量化计算框架--PulsarFunctions...为什么开发RoP?ApachePulsar是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体。自2016年开源以来,Pulsar已被广泛采用,并于2018年被指定为Apache顶级项目。RocketMQ是一款强大的开源分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。Pulsar和RocketMQ拥有广

  • 【STM32H7】第1章 选择RL-USB的优势

    论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99710第1章选择RL-USB的优势初学RL-USB,一般都比较关心这个问题,所以把这个问题放在第一章简单的说说。1.1RL-USB移植难易度1.2RL-USB上手难易度1.3RL-USB完善的组件生态1.4RL-USB源码获取1.5RL-USB调试组件1.6总结1.1RL-USB移植难易程度RL-USB不需要移植,使用MDK5的RTE(Run-TimeEnvironment)开发环境就可以一键添加:1.2RL-USB上手难易程度KEIL官方有一句话说的非常好,基本每个中间件都这种类似的话。Thelibraryhandlesthelow-levelUSBrequestswithouttheneedtowritethehardwarelayercode.Developerscanfocusontheapplication'srequestratherthanconcentratingonthespecialtiesoftheUSBprotoco

  • 如何解读Java架构师深入浅出的大数据体系原理?程序员必看!!!

    如何解读Java架构师深入浅出的大数据体系原理?程序员必看!!!Java架构师最近几天在思考,如果用一个简单的例子来说明下大数据中涉及到一些方面或者内容。经过反复拿捏,感觉下面的例子对于未接触过大数据的人来说,比较容易接受和理解。我们这里已数字排序作为说明。我有10个整数,把他们全部放进内存,然后条用api的排序接口,很快就会得出结果。我有1G的数据,这个时候,如果机器不是那么破的化,也可以全部把他们放到内存中进行排序,也可以得出结果。我有10G的数据,勉强可以多往电脑中插几个8G的内存条,也许勉强可以。如果现在我有100G的数据整数,怎么弄?这个时候显然增加内存条是不可能解决的。而且,这区区100G的数据还算不算大数据。按照现在电影的体积,也就100多部。这个时候,1台机器显然装不下这么多东西,怎么半?就是再多找几台机器。机器增多了意味着什么?这个时候就需要懂分布式计算,而如果连分布式都不懂,那么,大数据你肯定不清楚。如果现在100G的数据,现在有10台机器,那么,【1】这100G的整数如果分配?【2】这10台机器之间如何通讯?这个时候,你需要懂网络编程【3】假设每台机器上的数据都已

  • 体现公平性公式在规划问题中的应用

    本文是在Optaplanner创始人GeoffreyDeSmet先生的一篇文章《Formulaformeasuringunfairness》的基础上进行翻译而成。因为其博文发表在Optaplanner的官网上,因此,其行文过程中存在一定的上下文默认情况,如果直译原文,将会大大降低其可读性。因此,本文是在原文的基础上添加一些本人修饰的表达而成。负载均衡在Optapalnner的应用案例中是一种极为常见的约束,特别是做一些人员排班等场景,各人的工作量需要尽可能公平分配。但是,说起来容易做起来难。本篇让我们来研究一下这个具挑战性的问题。本文中,我们使用以下案例:有15个烦人的任务,需要分配给5个员工,每个任务需时1天来完成,且每个任务都有不同的人员技能要求。何谓公平?我们先来看看两个关于公平,但又对立的定义:如果大多数员工都认为对自己公平的,那这个方案就是公平的。对于分得最多任务的员工而言,其所分的任务越少,则这个安排就越公平。(即越平均越公平)很显然,因为我们想将方案调整到对所有人都是平等,第2个定义更正确。此外,如果为了让几乎所有人都高兴,我们把所有任务都分配给一个人(例如都分给阿Ann

  • 【死磕 Spring】----- IOC 之 加载 Bean

    先看一段熟悉的代码:ClassPathResourceresource=newClassPathResource("bean.xml");DefaultListableBeanFactoryfactory=newDefaultListableBeanFactory();XmlBeanDefinitionReaderreader=newXmlBeanDefinitionReader(factory);reader.loadBeanDefinitions(resource);复制这段代码是Spring中编程式使用IOC容器,通过这四段简单的代码,我们可以初步判断IOC容器的使用过程。获取资源获取BeanFactory根据新建的BeanFactory创建一个BeanDefinitionReader对象,该Reader对象为资源的解析器装载资源整个过程就分为三个步骤:资源定位、装载、注册,如下:资源定位。我们一般用外部资源来描述Bean对象,所以在初始化IOC容器的第一步就是需要定位这个外部资源。在上一篇博客(【死磕Spring】-----IOC之Spring统一资源加载策

  • tkinter -- 文本的多行显示

    使用width和heigth来指定控件的大小,如果指定的大小无法满足文本的要求,会出现:超出Label的那部分文本被截断了常用的方法是:使用自动换行功能,及当文本长度大于控件的宽度时,文本应该换到下一行显示,Tk不会自动处理,但提供了属性:wraplength:指定多少单位后开始换行justify:  指定多行的对齐方式ahchor:  指定文本(text)或图像(bitmap/image)在Label中的显示位置代码示例:import tkinter as tk root = tk.Tk() # 左对齐,文本居中 tk.Label(root, text='welcome to www.py3study.com', bg='yellow', width=40, height=3, wraplength=80,  justify='left').pack() # 居中对齐,文本居左 tk.Label(root, text='welcome to www.py3study.com', bg='re

  • 简单的运动模糊效果实现

    当一个物体快速移动的时候,人眼会感觉它变模糊.同样的现象在电影和照片上也存在.产生这种现象的原因是人眼并不是无限快地接收信息的,而是每隔一段很短的时间”截取”一幅画面。如果物体移动的速度超过了人眼捕获画面的速度,那么物体会呈现条纹效果.了解现实世界中的效果有助于我们用计算机去实现它.理想的方法是判断每个像素在相邻两帧之间移动的速度,跟据这个信息再来进行处理.这个方案是可行的,但是有点复杂.另一种方法就是将当前帧的画面跟上一帧的画面进行混合,并不考虑物体的移动速度.这只是一种近似效果,并在如今的视频游戏中得到了广泛的应用.实现运动模糊屏幕效果有两方面的目的:一是为了模拟现实中的运动模糊二是它可以减轻渲染中的锯齿效果,特别是在硬件不支持反锯齿的情况下,这是一个廉价的替代方案.实现原理:1.先将场景渲染到一个RenderTarget1上2.将RenderTarget1跟上一帧渲染的结果进行混合,并输出到RenderTarget23.将RenderTarget2输出到屏幕,并将其保留到下一帧进行混合详见下图:Shader实现两个Pass TeapotPass将场景正常渲染到BaseSceneR

  • 创业公司生存警示录:实现增长必备12项法则

    T客汇官网:tikehui.com撰文|徐婧欣1.增长团队「有责任衡量、了解和强化使用产品及业务的用户流。」「财务团队则要负责理解和强化公司的资金流,公司中所有的决策都与此有关。财务需要人员运用自己的知识帮助公司运营,有趣的是,几乎每家公司的财务团队最终都会认识到,要实现收入最大化,最重要的杠杆是用户人数。」——Wealthfront产品副总裁AndyJohns(曾任职于Facebook、Twitter和Quora) 任何公司想要成功都必须完成以下几个目标:a.衡量财务指标;b.市场营销;c.实现产品最优化,促进公司增长。本文的主题就是这三个目标,目标实现后可以对公司产生巨大的积极影响。截止上个季度,Facebook的日活跃用户(DAU)达到12.3亿人,月活越用户(MAU)达到18.6亿人。这两个数字可以证明Facebook的增长态势良好,很容易让人忘记就在不久前Facebook的用户人数还近乎于停滞。Facebook的增长副总裁AlexSchultz回忆道:「当时Facebook的用户人数增长至5000万后就停滞不前了,在Facebook内部我们提出了很多问题,比如是否有哪一个社交

  • 如何用好MySQL索引

    在了解MySQL索引之前,我们先过一遍磁盘和操作系统:手把手教你了解电脑磁盘的结构 一、磁盘的结构 Ⅰ、盘片 一个磁盘(如一个1T的机械硬盘)由多个盘片(如下图中的0号盘片)叠加而成。 盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据。因为正反两面都可涂上磁性物质,故一个盘片可能会有两个盘面。   Ⅱ、磁道、扇区  每个盘片被划分为一个个磁道,每个磁道又划分为一个个扇区。如下图: Ⅲ、柱面 Ⅳ、磁盘的物理地址 由上,可用(柱面号,盘面号,扇区号)来定位任意一个“磁盘块”(也就是物理块)。 可根据该地址读取一个“块”,操作如下: ①根据“柱面号”移动磁臂,让磁头指向指定柱面; ②激活指定盘面对应的磁头; ③磁盘旋转的过程中,指定的扇区会从磁头下面划过,这样就完成了对指定扇区的读/写。 二、页面、页表、逻辑块 逻辑块:操作系统中的概念,指的是物理块,由多个相邻的扇区组成。(通常块大小为4KB,扇区大小512Byte) 页表:页面到逻辑块之间的映射,一对一的关系。 页面:和逻辑块一一对应。 三、存储 计算机系统利用各种技术来提供存储能力。一个计算机系统的主存通常

  • 记一次遗留代码的重构改造:数十万行国家标准坐标文件分析方法的改造与提速

    重构这个词我们经常不停的提到,但是每次遇到的时候,总觉得无处下手,怕改坏了得不偿失。本周我进行了一次重构,并从中总结了部分经验。 事情从周一说起,我收到一个需求:公司的维护项目耕地保护监管平台中的导入地块坐标文件模块速度太慢,平均需要数分钟,较大的文件甚至需要十几分钟,严重影响用户体验。 一般拿到这样的需求之后,第一反应就时查看源码,通过调试找到慢的位置,优化代码结构。于是我按照管理查看了相关源码,发现原先负责的同事的大致思路是:将文件读取到流中,并循环遍历文件中的每一行坐标进行处理,拼接等操作。我就在想,是不是文件行数太多,循环10万+本身比较慢呢?如果是的,涉及到数据机构,改起来可就有些棘手了。光想没有用,要实验。我找了一个20万+行数的txt,然后直接读取文件流逐行循环,程序很快就结束了,只花了不到2s。那就是我们自己的问题了,每次循环过程中做的事情太慢:质变产生量变,最终导致速度的恐怖下降。 部坐标文件格式如下(代表两个地块,第一个地块有一个挖空区。): [属性描述] 格式版本号=1.0 数据产生单位=国土资源部 数据产生日期=2019-12-25 坐标系=中国2000国家

  • 插值表达式下文本长度过长将其缩写隐藏

    {{scope.row.name.length>30?scope.row.name(0,29)+'...':scope.row.name}} 意思是若文本长度超过30则截取长度内+...省略号进行缩写否则原文输出

  • 我写的一些前端开源项目(均托管到github)

    大部分项目都是平时项目用到的某些功能,觉得有趣或者复用性有点高就提取成一个单独项目来做维护 coffee-tmpl:一个极简的模板引擎和ejs及underscore的template类似 turntable:抽奖用的转盘程序,根据奖品数量动态生成圆盘 coffee-placeholder:placeholder的兼容性jquery插件主要针对IE8-9 coffee-jquery-extends:增强型的增加一些实用性的jquery拓展方法 typing.js:打字效果的一个插件 type-finder:反查JSON接口中符合条件的选择符 cup:和underscore差不多的辅助类库 coffee-alerts:用于辅助配合使用bootstrap的警告框内容 exportjs:将JS对象数组导出成CSV文件 atom-weex:Atom编辑器的weex语法高亮插件 coffee-storage:一个简易的localStorage辅助使用库

  • leetcode 165. Compare Version Numbers

    Comparetwoversionnumbers version1 and version2.If version1 > version2 return 1; if version1 < version2 return -1;otherwisereturn 0. Youmayassumethattheversionstringsarenon-emptyandcontainonlydigitsandthe . character. The . characterdoesnotrepresentadecimalpointandisusedtoseparatenumbersequences. Forinstance, 2.5 isnot"twoandahalf"or"halfwaytoversionthree",itisthefifthsecond-levelrevisio

  • 日常排雷:redis报错 could not get a resource from the pool

    redis报错couldnotgetaresourcefromthepool   今天遇到一个问题 在模拟环境上进行测试,调用redis获取数据时报错,提示 couldnotgetaresourcefromthepool 报错代码,以下红色字体:   1    try(Jedisjedis=POOL.getResource()){ 2returnjedis.get(key); 3    }复制 于是进行排查,本地开发环境调试,发现正常啊,啥情况? 难道本地环境和模拟环境有啥差异???   模拟环境的用户多,操作redis量也多,实例使用后没用被释放导致的? 于是,本地建立循环20000次获取实例不释放,inti=0;while(i<20000){Jedisjedis=POOL.getResource();i++} 结果:正常!!!难道不是这么测的?先排除这种问题的可能 试试其它法子: 假设是模拟环境的操作量过多未释放,那么重启模拟环境服务,即可以初始化redis连接池,重启后立即去操作报错功能试试 发现操作完,还是报同样错误 结论:不是实例使

  • 【配置与安装】CentOS7 多磁盘合成卷组并创建LVM,挂载到同一目录

    一、需求场景 将主机的2块数据盘(107GB+214GB)"合并"后挂载到 /builed 目录下,要求文件系统格式化为ext4。 数据盘 /dev/sdb:107GB /dev/sdc:214GB 文件系统:ext4 挂载目录:/build OS版本:CentOS7.5 lvm版本:lvm2 二、实现方法 使用LVM逻辑卷管理来实现。 二、实现步骤 1.磁盘分区(parted,非必须) 在将磁盘或者磁盘分区用作物理卷(PV)之前,需要对其进行初始化工作,即进行磁盘分区操作;因磁盘分区需求大于2T,所以 fdisk命令无法实现管理,需要使用 parted 命令来做磁盘分区管理。 /dev/sdb #新建/dev/sdb的磁盘标签类型为GPT [root@module~]#parted/dev/sdbmklabelgptWarning:Theexistingdisklabelon/dev/sdbwillbedestroyedandalldataonthisdiskwillbelost.Doyouwanttoconti

  • hdu4767_Bell_矩阵快速幂+中国剩余定理

    2013长春赛区网络赛的1009题 比赛的时候这道题英勇的挂掉了,原因是写错了一个系数,有时候粗心比脑残更可怕 本题是关于Bell数,关于Bell数的详情请见维基:http://en.wikipedia.org/wiki/Bell_number 其中有一句话是这么说的: Andtheysatisfy"Touchard'scongruence":If p isanyprimebumber then 但95041567不是素数,分解之后发现 95041567=31×37×41×43×47 按照上述递推式,利用矩阵快速幂可以得到Bn modp,(p=31,37,41,43,47),因为p最大47,所以矩阵快速幂O(p^3*log(n/p))不会超时, 当然要先利用以下公式把B1-B47预处理出来: 得到5个Bn modp (p=31,37,41,43,47)之后,怎样得到Bn mod Πp呢? 利用中国剩余定理可以完美的解决上述问题 详情见代码: #include<cstdio&g

  • Linux下查看内存使用情况方法总结

    Linux下查看内存使用情况方法总结

  • 关于pip问题

    解决pip问题的万能方法:卸载重装pip 卸载: python-mpipuninstallpip 安装: 方法一 python-measy_installinstallpip 方法二 curlhttps://bootstrap.pypa.io/get-pip.py-oget-pip.py#下载安装脚本 pythonget-pip.py#运行安装脚本 如果觉得本文有用,万望看官慷慨解囊,不吝打赏,激励本编提供更加优质的内容 [点击进行打赏](https://www.cnblogs.com/52note/p/16507868.html)

  • Java中迭代和递归的详解

           

  • jmeter-循环控制器

    1.名称 2.注释 3.循环次数:循环几次次数就写几 4.如果注册只循环一次,登录循环多次,那么在注册前增加仅一次控制器,登录前增加循环控制器  

相关推荐

推荐阅读