Python实现抖音热搜定时爬取功能
作者:Python丁小杰 发布时间:2022-01-03 03:48:29
标签:Python,抖音,热搜,爬取
大家好,我是丁小杰。
上次和大家分享了Python定时爬取微博热搜示例介绍,堪称摸鱼神器,一个热榜不够看?今天我们再来爬取一下抖音热搜榜,感兴趣的小伙伴可以自己动手尝试一下哦。
抖音热搜榜
链接:https://tophub.today/n/K7GdaMgdQy
整个热榜共50条数据,本次爬取的内容:排名、热度、标题、链接。
requests 爬取
requests
是一种非常简单的方法,由于该页面没有反爬措施,所以直接get
请求页面即可。
import requests
import pandas as pd
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36'
}
url = 'https://tophub.today/n/K7GdaMgdQy'
page_text = requests.get(url=url, headers=headers).text
page_text
可以看到,只需要几行代码,数据就很轻松地获取到了。
selenium 爬取
将selenium
设置为无头浏览器,打开指定url
获取页面数据。
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument('--headless')
driver = webdriver.Chrome(options=option)
url = 'https://tophub.today/n/K7GdaMgdQy'
driver.get(url)
page_text = driver.page_source
两种爬取方法都能够成功获取到数据,但requests
相对简洁,整个代码运行速度也更快,如果页面数据不是动态加载的话,用requests
相对方便。
数据解析
现在用lxml
库解析我们爬取的数据,并保存到excel
中。
tree = etree.HTML(page_text)
tr_list = tree.xpath(
'//*[@id="page"]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr')
df = pd.DataFrame(columns=['排名', '热度', '标题', '链接'])
for index, tr in enumerate(tr_list):
hot = tr.xpath('./td[3]/text()')[0]
title = tr.xpath('./td[2]/a/text()')[0]
article_url = tr.xpath('./td[2]/a/@href')[0]
df = df.append({
'排名': index + 1,
'热度': hot,
'标题': title,
'链接': article_url}, ignore_index=True)
df['链接'] = 'https://tophub.today' + df['链接']
df
运行结果
设置定时运行
至此,爬取代码已经完成,想要实现每小时自动运行代码,可以使用任务计划程序。
打开任务计划程序,【创建任务】
输入名称,名称随便起就好。
选择【触发器】>>【新建】>>【设置触发时间】
选择【操作】>>【新建】>>【选择程序】
最后确认即可。到时间就会自动运行,或者右键任务手动运行。
这就是今天要分享的内容,整体难度不大,希望大家能够有所收获,文章中的代码拼接起来就可以运行!
来源:https://mp.weixin.qq.com/s/vgtAxyb0rAH3s6hkeLyAVw


猜你喜欢
- 一、前言大家在朋友圈应该看到过用一张图片以九宫格的方式显示,效果大致如下:要实现上面的效果非常简单,我们只需要截取图片的九个区域即可。今天我
- 目录Tornado是什么安装试试看使用tornado框架来写一个web application总结Tornado是什么学委之前在看Jupyt
- 前言在使用 Go 语言开发过程中,我们不免会定义结构体,但是我们定义的结构体都是有字段的,基本不会定义不包含字段的 空结构体。你可能会反过来
- 实现功能excel表格中有4列数,分别为RMF计算得到的 β,γ,势能面及组态,需要挑选出相同 β 值下势能面最低时的组态。为了减小数据量,
- 这个是用vue-cli生成的项目下使用比如有个路由跳转时需要带两个参数:<router-link to='/tr'&g
- 这个符合设计标准的三 级向上弹出菜单,纯css代码控制,没有使用javascript脚本,绿色环保,呵呵。兼容性应该更好。截图:<!D
- 前言Python 字符串是一个内置的类型序列。字符串可用于处理 Python 中的文本数据。Python 字符串是 Unicode 点的不可
- 一、系统要求电影售票系统程序,应具备以下几点功能:1.用户认证系统用户分为用户、管理员两个角色,系统可根据不同用户角色权限进入不同界面,所有
- 背景:Python是一种解释性的语言,执行速度相比C、C++等语言十分缓慢;因此我们需要在其它地方上下功夫来提高代码的执行速度。首先需要对代
- 前言由于Django是 * 站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存
- 在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。我们编辑了前十名关于SQL Server开发的常见问题。对常见的针对表
- 在JavaScript中,数组本质上是一种特殊的对象,它的类型值会返回 object。如果我们需要比较两个数组是否相等,不能像比较基本类型(
- 图像加法1.使用Numpy加法运算方式:结果=图像1+图像2原理:图像数据格式为unit88位二进制表示范围是0到255。二进制相加1.不超
- 去年5月至10月间,我和雅虎口碑网的前端主管:鄢学鹍(秦歌),一起翻译了这本《JavaScript语言精粹》。原书作者是JavaScript
- 1.global关键字默认情况下,在局部作用域对全局变量只能进行:读取,修改内部元素(可变类型),无法对全局变量进行重新赋值读取:CITY=
- 本文实例讲述了python通过imaplib模块读取gmail里邮件的方法。分享给大家供大家参考。具体实现方法如下:import imapl
- 一、两表之间若有关联,你是否还在用主键进行关联? 比如现在有2张表,一张新闻栏目表,一张新闻表,现在两张表需要进行关联,我想大多数人的做法肯
- 1. 规范简介本规范主要规定ASP源程序在书写过程中所应遵循的规则及注意事项。编写该规范的目的是使项目开发人员的源代码书写习惯保持一致。这样
- 本文为大家分享了Windows下mysql5.7.18安装配置教程,供大家参考,具体内容如下准备:操作系统:win7下64位的zip版本的M
- 文章目录 微信登录问题Python chrome driver操作导入库并声明浏览器:完整流程:用js来预约生成js代码 主函数——程序出错