这里是全新的,对python来说也是相对较新的。我正在编写代码,只从雅虎财经对话页面上获取评论。我从APPL页面(https://finance.yahoo.com/quote/AAPL/community/)开始。我正在使用Edge浏览器中的inspect element函数并找到了注释。示例注释:
<div class="C($c-fuji-grey-l) Mb(2px) Fz(14px) Lh(20px)" data-reactid="44">$175 tomorrow vote up or not vote down ! I vote up</div>
我编写了以下基本代码来获取第一个注释(我不需要响应)。我想如果我能成功地得到一条评论,我就能得到所有的评论。我意识到我将不得不处理附加评论的加载,但是一步一步。在
^{pr2}$我一直得到“无”作为输出。我不认为这里涉及javascript(我在HTML的底部看到了脚本标记,但没有看到注释)。我也不知道该怎么做。我怎样才能成功地删除这些评论?当然可以接受不同的解决方案,谢谢阅读。在
编辑11-7-17
我用selenium重新编写了程序,并得到了页面上出现的注释。我现在正在进行以下步骤:
1)让程序在刮取任何内容之前单击最新反应的下拉选项。在
2)让程序单击页面底部的“显示更多”按钮,以呈现更多的注释,以便进行刮削。我想刮过去一年的评论,但我没有看到任何真正的时间戳在html,只有“1天前”,“两天前”,等等。我想我可以尝试让程序不断地点击“显示更多”按钮,直到它到达第一个带有时间戳“1年前”的评论。在
3)刮取评论者用户名和评论日期。理想情况下,我希望将注释器用户名、注释日期和注释保存在文件中(csv或JSON可以)。在
我的代码是:
from selenium import webdriver
driver = webdriver.Chrome("C:/YOUR_PATH_HERE/chromedriver.exe")
driver.get("https://finance.yahoo.com/quote/AAPL/community/")
timeout=10
comments = driver.find_elements_by_xpath("//div[@class='C($c-fuji-grey-l) Mb(2px) Fz(14px) Lh(20px)']")
coments = [x.text for x in comments]
print(len(coments))
print(coments)
一如既往,任何帮助都是值得感激的。在
目前没有回答
相关问题 更多 >
编程相关推荐