在 python 中使用 Selenium 和 browsermobproxy 创建的 .har 中找不到推文的回复正文



我正在尝试使用Selenium和browsermobproxy抓取对特定tweet的回复。下面是我的设置:

#Proxy
bmob_server = Server("./additional_lib/browsermob-proxy-2.1.4/bin/browsermob-proxy")
bmob_server.start()
bmob_proxy = bmob_server.create_proxy()
# Driver
co = webdriver.ChromeOptions()
co.add_argument('--ignore-ssl-errors=yes')
co.add_argument('--ignore-certificate-errors')
co.add_argument('--proxy-server={host}:{port}'.format(host='localhost', port=bmob_proxy.port))
driver=webdriver.Chrome(service=Service(ChromeDriverManager().install()), chrome_options=co)

在开始登录Twitter后,我正在打开tweet并准备har:

bmob_proxy.new_har(TARGET_TWEET, options={'captureHeaders': True, 'captureContent':True})
driver.get(TARGET_TWEET) 

滚动加载更多注释:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

就是这样。我获得这样做的json不是空的,所以我认为没有任何错误,它包含回复用户的个人资料图片,甚至是在回复中嵌入的gif/图像,但不是回复的文本本身。

我试过玩new_har模块的选项,也使用firefox代替chrome作为驱动程序,但没有任何改变。要点是:如果我打开tweet,打开开发工具(F12)并手动下载生成的。har文件,回复的文本在那里,所以我很确定我正在寻找的信息在那里,我错过了它们。

建议吗?

编辑

这是我使用所描述的过程获得的信息的一个示例:https://drive.google.com/file/d/1ChrbOTCUYww2lwEBuYUQRGZJGnNEND6s/view?usp=sharing

我发现并实现了一个使用Python和Selenium的解决方案,它是这个repo中的功能:https://github.com/ScrPzz/twitter_replies_scraper

最新更新