Python实现抖音热搜定时爬取功能
作者:Python丁小杰 时间:2022-01-03 03:48:29
大家好,我是丁小杰。
上次和大家分享了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
标签:Python,抖音,热搜,爬取
0
投稿
猜你喜欢
奇淫技巧之图片切割
2010-09-21 13:24:00
在MySQL中使用通配符时应该注意的问题
2024-01-26 13:17:07
如何在Windows中安装多个python解释器
2023-08-28 02:55:43
js+html5操作sqlite数据库的方法
2024-01-23 18:31:05
解析xml字符串的函数
2008-06-10 12:37:00
Ubuntu上mysql的安装及使用(通用版)
2024-01-23 04:52:43
Windows Server2008 R2 MVC 环境安装配置教程
2024-01-17 06:45:24
centos 7安装mysql5.5的方法
2024-01-22 01:29:32
Go语言指针用法详解
2023-08-05 17:06:36
Python深入浅出分析元类
2022-01-10 09:09:00
Vue对象的深层劫持详细讲解
2024-04-26 17:40:20
Django中实现一个高性能计数器(Counter)实例
2023-11-16 03:53:48
Python的面向对象编程方式学习笔记
2021-02-02 07:00:30
详解python程序中的多任务
2021-01-10 18:55:37
{ hide_text } CSS文字隐藏总结报告
2010-06-13 17:19:00
python队列queue模块详解
2023-03-28 17:26:02
JavaScript中数组的合并以及排序实现示例
2024-05-08 10:10:01
python 装饰器功能与用法案例详解
2023-12-22 12:42:34
国际上十四个优秀网页设计审核站
2007-09-30 20:18:00
Python学习之面向对象编程详解
2023-10-12 18:48:46