如何使用python和BeautifulSoup打印每行的时间戳/上次更新时间(来自HTML)?
1.我可以添加打印内容吗
a) 日期/时间-显示执行python代码的时间
b) HTML的上次更新时间:
HTML结构:
td x 1 including
two tables
each table have few "tr"
and within "tr" have few "td" data inside
HTML格式:
<td>
<table width="100%" border="4" cellspacing="0" bordercolor="white" align="center">
<tbody>
<tr>
<td colspan="2" class="verd_black11">Last Updated: 18/08/2014 10:19</td>
</tr>
<tr>
<td colspan="3" class="verd_black11">All data delayed at least 15 minutes</td>
</tr>
</tbody>
</table>
<table width="100%" border="4" cellspacing="0" bordercolor="white" align="center">
<tbody id="tbody">
<tr id="tr0" class="tableHdrB1" align="center">
<td align="centre">C Aug-14 - 15000</td>
<td align="right"> - </td>
<td align="right">5</td>
<td align="right">9,904</td>
</tr>
</tbody>
</table>
</td>
代码:
import urllib2
from bs4 import BeautifulSoup
contenturl = "HTML:"
soup = BeautifulSoup(urllib2.urlopen(contenturl).read())
table = soup.find('tbody', attrs={'id': 'tbody'})
rows = table.findAll('tr')
for tr in rows:
cols = tr.findAll('td')
for td in cols:
t = td.find(text=True)
if t:
text = t + ';'
print text,
print
上述代码的输出
C Aug-14 - 15000 ; - ; 5 ; 9,904
预期产出:
C Aug-14 - 15000 ; - ; 5 ; 9,904 ; 18/08/2014 ; 13:48:00 ; 18/08/2014 ; 10:19
(execute python code) (last updated time)
1条答案
按热度按时间cnwbcb6i1#
要获取代码执行的时间:
然后从code_executes元组中选择所需的片段,并将其格式化为字符串,以便稍后插入下面的print语句
要获得“最后更新”位,您需要读取顶部的表,因为它没有您指定的id属性。如果html只有2个表,您可能可以删除漂亮汤的id规范,您将获得两个表。
要获取时间,请使用str.startswih(“Last Updated:”)并获取之后的内容(字符串切片将起作用)
最后,在打印时,将您的两次粘贴到线条上