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中函数传参详解
Jul 03 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
Django与JS交互的示例代码
Aug 23 Python
Python模拟用户登录验证
Sep 11 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
Python实现最大子序和的方法示例
Jul 05 Python
python mysql断开重连的实现方法
Jul 26 Python
python jenkins 打包构建代码的示例代码
Nov 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日期时间函数的高级应用技巧
2009/05/16 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
python将文本分每两行一组并保存到文件
2018/03/19 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
铭万公司.net面试题笔试题
2014/07/20 面试题
英文导游欢迎词
2014/01/11 职场文书
商务邀请函范文
2014/01/14 职场文书
广告宣传策划方案
2014/05/21 职场文书
购房协议书范本
2014/10/02 职场文书
教师节随笔
2015/08/15 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python