【问题标题】:Selenium is not loading TikTok pagesSelenium 未加载 TikTok 页面
【发布时间】:2020-04-04 05:11:53
【问题描述】:

我正在使用 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,但不会加载视频。 Image loading

使用 Firefox 也会出现同样的问题 No loading page using 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 时是否有效?
  • 使用 Selenium 的简单 python 脚本问题仍然存在
  • 我个人发现zebo的解决方案是可行的
  • 你们都说你发现它有效,你能提供你使用的代码的链接吗?

标签: python selenium web-scraping scrapy


【解决方案1】:

您是否尝试在 selenium 浏览器窗口中进一步导航?如果以下网站出现错误 404,我有一个适合我的解决方案:

我只是将我的用户代理更改为“Naverbot”,这是 Tik Tok 的 robots.txt 文件“允许”的

(Robots.txt)

更改所有网站和视频后正确加载。

如果您想添加轮换,“允许”部分下列出的其他用户代理也应该可以工作。

【讨论】:

  • 你能用代码显示吗?在 VS 代码中加载 fake-useragent 时遇到问题
  • @wesleyfranks 查看这篇文章here,了解如何在 Selenium 中设置用户代理。对我来说,将其更改为“Googlebot”或“Naverbot”就可以了!
【解决方案2】:

您可以使用Windows IE。而不是 chrome 或 firefox

视频将在 IE 中加载,但 IE 显示提要的布局与 chrome 和 firefox 有所不同。

页面未加载的原因。

很少有高级网络应用会检查您的浏览器历史记录、个人资料数据和缓存以检查用户的身份验证。 您可以做的另一件事是在 selenium 中运行默认配置文件,这会很有帮助。

【讨论】:

  • 无法在ubuntu中使用IE。
  • 目前只有两件事情有效。 1- Selenium 带有一个名为“Multilogin”的应用程序。 2 - drawrowfly 的 GitHub 存储库。
  • @ZeeshanAhmad 页面是否仅作为移动浏览器打开?
猜你喜欢
  • 2014-05-11
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
  • 2015-09-25
  • 2021-01-18
  • 2017-05-07
  • 2018-03-20
  • 2011-09-16
相关资源
最近更新 更多