Python实现抖音热搜定时爬取功能


Posted in Python onMarch 16, 2022

大家好,我是丁小杰。

上次和大家分享了Python定时爬取微博热搜示例介绍,堪称摸鱼神器,一个热榜不够看?今天我们再来爬取一下抖音热搜榜,感兴趣的小伙伴可以自己动手尝试一下哦。

抖音热搜榜

链接:https://tophub.today/n/K7GdaMgdQy

Python实现抖音热搜定时爬取功能

整个热榜共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

Python实现抖音热搜定时爬取功能

可以看到,只需要几行代码,数据就很轻松地获取到了。

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

运行结果

Python实现抖音热搜定时爬取功能

设置定时运行

至此,爬取代码已经完成,想要实现每小时自动运行代码,可以使用任务计划程序。

打开任务计划程序,【创建任务】

Python实现抖音热搜定时爬取功能

输入名称,名称随便起就好。

Python实现抖音热搜定时爬取功能

选择【触发器】>>【新建】>>【设置触发时间】

Python实现抖音热搜定时爬取功能

选择【操作】>>【新建】>>【选择程序】

Python实现抖音热搜定时爬取功能

最后确认即可。到时间就会自动运行,或者右键任务手动运行。

这就是今天要分享的内容,整体难度不大,希望大家能够有所收获,文章中的代码拼接起来就可以运行!

以上就是Python实现抖音热搜定时爬取功能的详细内容,更多关于Python抖音热搜爬取的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中MYSQLdb出现乱码的解决方法
Oct 11 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
python docx 中文字体设置的操作方法
May 08 Python
详解Python中is和==的区别
Mar 21 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
python实现的读取网页并分词功能示例
Oct 29 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
通过cmd进入python的步骤
Jun 16 Python
python 如何设置守护进程
Oct 29 Python
Python3的进程和线程你了解吗
Mar 16 #Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 #Python
bat批处理之字符串操作的实现
Mar 16 #Python
一起来学习Python的元组和列表
Mar 13 #Python
python自动化测试之Selenium详解
python数字类型和占位符详情
Mar 13 #Python
Python+Selenium自动化环境搭建与操作基础详解
You might like
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
python list语法学习(带例子)
2013/11/01 Python
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
Python文件去除注释的方法
2015/05/25 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
对python生成业务报表的实例详解
2019/02/03 Python
django Admin文档生成器使用详解
2019/07/22 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
HTML5 weui使用笔记
2019/11/21 HTML / CSS
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
简约控的天堂:The Undone
2016/12/21 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
行政总监岗位职责
2013/12/05 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
校园之声广播稿
2014/01/31 职场文书
党员教师工作决心书
2014/03/13 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
如何在Python中妥善使用进度条详解
2022/04/05 Python
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript