如何使用python在维基百科页面上获取页面创建日期



我遇到了一个问题,关于如何在表中获取特定文本。在本例中,维基百科页面上的页面创建日期。例如,在这个链接

https://en.wikipedia.org/wiki/United_States?action=info

我正在使用beautifulsoup,但我仍然有问题,因为文本的其余部分都在那里。我只需要创建页面的日期。

Grep'ing返回一行HTML:

$ curl -s 'https://en.wikipedia.org/wiki/United_States?action=info' |
grep --color 'Date of page creation' 

在这种情况下,逐行迭代并使用正则表达式就足够了。

但让我们坚持使用BS4,这是一个很好的工具。

1.迭代

只需在soup.find_all('td')标签上循环直到你发现一个有td.text匹配";页面创建日期";。然后请求下一个标签,并且CCD_ 3具有您想要的时间戳。

2.搜索标签

利用";mw pageinfo firsttime";id在<tr>行,告诉BS4查找。读取并丢弃<td>。读取另一个数据并返回其td.text时间戳。

有一些表,但只有一个表包含有关日期和时间的信息。幸运的是,日期行有一个唯一的id,这使工作变得容易。所以通过id找到CCD_ 7,通过CCD_。

from bs4 import BeautifulSoup
import requests
url = 'https://en.wikipedia.org/wiki/United_States?action=info'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
first_time = soup.find(id='mw-pageinfo-firsttime').find_all('td')[1]
last_time = soup.find(id='mw-pageinfo-lasttime').find_all('td')[1]
print(first_time.text)
print(last_time.text)

最新更新