Selenium Webscraping Twitter - 获取推文时间戳?

时间:2017-11-14 22:48:53

标签: python selenium twitter

在检查Twitter结果页面时,在以下类中:

    <small class="time">
         ....
    </small>

是每条推文的时间戳&#39;数据时间&#39;:

<span class="_timestamp js-short-timestamp js-relative-timestamp" data-time="1510698047" data-time-ms="1510698047000" data-long-form="true" aria-hidden="true">12m</span>

在selenium中我使用以下代码:

tweet_date = browser.find_elements_by_class_name('_timestamp')

但是看一个条目只返回12m。

如何在selenium中访问类中的其他属性?

2 个答案:

答案 0 :(得分:1)

我通常使用find_elements_by_xpath,这样您就可以从页面中抓取特定元素,而无需担心名称。或者这就是它的工作方式。

修改

好吧所以我想我已经明白了。首先,通过xpath找到元素并分配。

"plugins":{
     "getvideodata.js":{}
}

忘记如果你使用“元素”而不是“元素”,你需要添加这样的东西。

ts=browser.find_elements_by_xpath('//*[@id="stream-item-tweet-929138668551380992"]/div/div[2]/div[1]/small/a/span')

然后你可以使用get_attribute方法在html中获取与'data-time'相关的信息。

ts=ts[0]

返回

raw_time=ts.get_attribute('data-time')

答案 1 :(得分:0)

感谢SuperStew找到答案的关键 - get_attribute()

对于任何想知道的人,我的最终解决方案是:

tweet_date = browser.find_elements_by_class_name("_timestamp")

然后对于该列表中的任何日期:

tweet_date[1].get_attribute('data-time')