所以我有一个包含以下HTML的页面,它显然做得很差但我需要运行一些自动化,其中一部分包括获取下面的日期。
<tr>
<td class="bold">
Last Login
</td>
<td colspan="3" class="usual">
4/1/2011 at 07:01:11 AM </td>
</tr>
理想情况下,我想提取第二个<td>
的内容,然后将其转换为Unix时间,但抓住它就足够了。
我认为这可以用正则表达式来完成,但你必须重复几次才能完成内容。
答案 0 :(得分:1)
如果您问如何使用BeautifulSoup
找到所需的元素,我实际上会根据Last Login
单元格文本找到它,听起来非常可靠(尽管我不知道大局是什么是):
import re
from bs4 import BeautifulSoup
data = """
<tr>
<td class="bold">
Last Login
</td>
<td colspan="3" class="usual">
4/1/2011 at 07:01:11 AM </td>
</tr>
"""
soup = BeautifulSoup(data)
last_login = soup.find("td", text=re.compile(r"Last Login")).find_next_sibling("td").get_text(strip=True)
print last_login
打印4/1/2011 at 07:01:11 AM
。
要获取时间戳,请使用datetime
将字符串加载到strptime()
对象中,并使用Convert datetime to Unix timestamp and convert it back in python中的解决方案来获取时间戳:
from datetime import datetime
import time
last_login_date = datetime.strptime(last_login, "%m/%d/%Y at %H:%M:%S %p")
print(time.mktime(last_login_date.timetuple()))