Selenium无法加载TikTok页面。

5
我正在使用Selenium和Scrapy实现一个TikTok爬虫。
start_urls = ['https://www.tiktok.com/trending']
....
def parse(self, response):
    options = webdriver.ChromeOptions()
    from fake_useragent import UserAgent
    ua = UserAgent()
    user_agent = ua.random
    options.add_argument(f'user-agent={user_agent}')
    options.add_argument('window-size=800x841')
    driver = webdriver.Chrome(chrome_options=options)
    driver.get(response.url)

爬虫打开 Chrome 但无法加载视频。 图像加载 使用 Firefox 也会遇到相同的问题。 使用 Firefox 无法加载页面 使用 Selenium 编写的简单脚本也会出现相同的问题。
from selenium import webdriver
import time


driver = webdriver.Firefox()
driver.get("https://www.tiktok.com/trending")
time.sleep(10)
driver.close()

driver = webdriver.Chrome()
driver.get("https://www.tiktok.com/trending")
time.sleep(10)
driver.close()

在Scrapy之外使用Selenium时,它是否有效? - Gallaecio
使用 Selenium 的简单 Python 脚本仍然存在问题。 - user12512567
https://pypi.org/project/pywebview/ - Ng Sharma
1
我个人发现zebo的解决方案很有效。 - Andrea Ramazzina
你们所有说它可行的人,能否提供你们使用的代码链接? - wesley franks
2个回答

3

您有没有尝试在Selenium浏览器窗口中进一步导航?如果在以下网站上出现错误404,我有一个对我有效的解决方案:

我只需将我的用户代理更改为“Naverbot”,该代理被Tik Tok的robots.txt文件“允许”使用。

(Robots.txt)

更改后,所有网站和视频都正常加载。

如果您想添加旋转,则在“允许”段下列出的其他用户代理也应该可以使用。


你能否用代码展示一下吗?我在VS Code中加载fake-useragent时遇到了问题。 - wesley franks
2
@wesleyfranks 请查看这篇文章在这里,了解如何在Selenium中设置用户代理。对我来说,将其更改为“Googlebot”或“Naverbot”就可以完成工作! - zebo

0

你可以使用Windows IE,而不是Chrome或Firefox。

视频将在IE中加载,但IE显示反馈的布局与Chrome和Firefox有所不同。

为什么你的页面无法加载的原因。

一些高级Web应用程序会检查您的浏览器历史记录、配置文件数据和缓存以检查用户的身份验证。另外一件事情是在Selenium中运行您的默认配置文件,这将非常有帮助。


无法在Ubuntu中使用IE。 - wesley franks
现在只有两件事情正在运作。1- Selenium与一个名为“Multilogin”的应用程序。2 - drawrowfly的GitHub存储库。 - Zeeshan Ahmad
@ZeeshanAhmad 这个页面只在移动浏览器上打开吗? - Marcelo Gazzola

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接