我想使用bs4提取文章发布日期,因为报纸模块有时会起作用,而在其他场合则不会。
例如,网址为http://www.popsci.com/ups-tests-drone-deliveries-to-island。
from bs4 import BeautifulSoup
import urllib.request
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page, 'lxml')
#print (soup.prettify())
date = soup.find('span', {'class':"date"})
print (date)
这将显示以下信息。
<span class="date" data-timestamp="1474907692"><span class="label">posted</span> Sep 26th, 2016 at 12:34pm</span>
我只需要 2016年9月26日下午12:34 部分。
所以,我试过了,
date = soup.find('span',{'class':"date"}, text=(re.compile("Sep")))
但是,这只会返回无。
我相信我在这里错过了一些东西,但不知道错在哪里。 有人可以帮助我指导我应该解决的问题吗?
答案 0 :(得分:0)
怎么样:
date = soup.find('span', {'class':"date"}).text.replace("posted ", "")
# 'Sep 26th, 2016 at 12:34pm'
您可能希望将其包装到某个try/catch
块中以使其更安全。