【问题标题】:How I get tweet's date-time from Twitter with Selenium with class name我如何使用带有类名的 Selenium 从 Twitter 获取推文的日期时间
【发布时间】:2019-04-07 14:17:02
【问题描述】:

我正在尝试使用 Selenium 抓取 Twitter 内容,但我遇到了有关日期时间的问题。

这是我尝试过的。我可以得到一个文本,但 date_span 保持 None 并且我得到“'NoneType' object is not callable”错误。

for li in soup.find_all("li", class_='js-stream-item'):

    text_p = li.find("p", class_="tweet-text")
    if text_p is not None:
        tweet['text'] = text_p.get_text()

        date_span = li.find("a", class_="tweet-timestamp js-permalink js-nav js-tooltip")
        tweet['created_at'] = date_span.get_attribute('title')
<small class="time">
  <a href="/crypto2bigbang/status/1114844247700586496" 
class="tweet-timestamp js-permalink js-nav js-tooltip" 
title="3:55 AM - 7 Apr 2019" data-conversation-id="1114844247700586496">
<span class="_timestamp js-short-timestamp js-relative-timestamp" data-time="1554634556" data-time-ms="1554634556000" 
data-long-form="true" aria-hidden="true">2m</span>
<span class="u-hiddenVisually" data-aria-label-part="last">2 minutes ago</span></a>
</small>

我想获取日期时间,例如“标题”中的“3:55 AM - 2019 年 4 月 7 日”。

这是我在这里的第一个问题。我希望它是正确的:)

【问题讨论】:

  • 这次是纪元,您只需使用datetime 模块进行转换

标签: python-3.x selenium beautifulsoup


【解决方案1】:
import time,datetime
date_span = soup.find("span",class_="_timestamp js-short-timestamp js-relative-timestamp")
print(time.strftime('%H:%M %p-%d %B %Y',  time.gmtime(float(date_span))))

这将为您提供时间10:55 AM-07 April 2019,您可以在此处了解有关格式化的更多信息strftime documentaion

【讨论】:

    猜你喜欢
    • 2019-12-18
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多