【Python】爬取并下载TikTok账户中所有帖子的视频

目录
0. 项目介绍
1. 构造浏览器实例
2. 爬取账户页中所有帖子的链接
3. 爬取并下载帖子页中的视频
4. 完整代码

0. 项目介绍

本项目的目的是输入指定TikTok账户页的链接,输出该账户每一个帖子的视频。本项目的基本结构参考这篇博文


本项目需要先导入如下库:

from selenium import webdriver
import json, time, os

本项目的全局变量如下:

sslPort = 
fxBinaryPath = ''
geckodriverPath = ''
pageDownJS = 'document.documentElement.scrollTop=100000000'
outputPath = ''
wgetPath = ''
httpsProxy = 'https://127.0.0.1:{}/'.format(str(sslPort))

本项目的基本结构如下:

def Main():
	profileUrl = input('Please input the tiktok profile link: ')
	
	urlList = PROFILE().Main(profileUrl)
	
	for url in urlList:
		POST().Main(url)

1. 构造浏览器实例

fxProfile = webdriver.firefox.firefox_profile.FirefoxProfile()
fxProfile.set_preference('network.proxy.type', 1)
fxProfile.set_preference('network.proxy.ssl', '127.0.0.1')
fxProfile.set_preference('network.proxy.ssl_port', sslPort)
fxProfile.set_preference('network.proxy.socks_remote_dns', True)
fxProfile.set_preference('network.trr.mode', 2)
fxProfile.set_preference('permissions.default.image', 2)
fxProfile.set_preference('intl.accept_languages', 'zh-CN, zh, zh-TW, zh-HK, en-US, en')
fxDriver = webdriver.firefox.webdriver.WebDriver(firefox_profile=fxProfile, firefox_binary=fxBinaryPath, executable_path=geckodriverPath)

2. 爬取账户页中所有帖子的链接

class PROFILE(object):
	
	def GetLocY(self):		
		for e in fxDriver.find_elements_by_xpath('//a[contains(@class, "video-feed-item-wrapper")]'):
			locY = e.location['y']
		
		return locY
	
	def JudgeLoading(self, locY):
		time.sleep(0.5)
		
		locYNew = PROFILE().GetLocY()
		
		if locY < locYNew:
			return locYNew
		else
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python,我们可以使用第三方库如Requests和BeautifulSoup来爬取TikTok的评论。首先,确保已经安装了这些库,可以通过使用pip命令来安装它们。 在代码,我们可以使用Requests库发送HTTP请求来获取TikTok视频页面的HTML源代码。可以使用URL来指定TikTok视频的链接。然后,使用BeautifulSoup库解析HTML并筛选出评论部分的内容。 以下是一段简单的示例代码: ```python import requests from bs4 import BeautifulSoup def get_tiktok_comments(url): # 发送请求获取HTML源代码 response = requests.get(url) html = response.text # 解析HTML代码 soup = BeautifulSoup(html, 'html.parser') # 筛选评论部分 comments = soup.find_all('div', {'class': 'comment-item'}) # 提取评论文本 comment_texts = [] for comment in comments: comment_text = comment.find('span', {'class': 'comment-text'}).text comment_texts.append(comment_text) return comment_texts # 示例使用 tiktok_url = 'https://www.tiktok.com/@username/video/1234567890' comments = get_tiktok_comments(tiktok_url) for comment in comments: print(comment) ``` 在上述示例,`get_tiktok_comments`函数使用`requests.get`函数发送HTTP请求来获取TikTok视频页面的HTML源代码。然后,使用`BeautifulSoup`解析HTML并使用`find_all`方法找到包含评论的`div`元素。最后,使用`find`方法提取每个评论的文本并添加到`comment_texts`列表。 请确保替换`tiktok_url`变量的值为实际要爬取评论的TikTok视频链接。运行代码后,将会打印出每条评论的内容。 需要注意的是,爬取网站的评论可能涉及到反爬策略或者网站的设置,可能需要使用更复杂的方法来处理。这个示例只是一个简单的演示,可能不能适用于所有情况。在实际应用,请遵守网站的相关规则并尊重他人的隐私。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值