Python 无法使用BeautifulSoup从html获取日期

Python 无法使用BeautifulSoup从html获取日期,python,beautifulsoup,Python,Beautifulsoup,无法从标记中的标记获取日期。尝试使用回归但不工作,如何在使用/不使用回归的情况下获得以下输出 所需输出: Saturday, November 25, 2017 html代码: <div class="main-content"> <div class="col_7 post-info">strong text <ul class="no-bullet"> <li><strong>Date:</strong> Saturd

无法从标记中的标记获取日期。尝试使用回归但不工作,如何在使用/不使用回归的情况下获得以下输出

所需输出:

Saturday, November 25, 2017
html代码:

<div class="main-content">
<div class="col_7 post-info">strong text
<ul class="no-bullet">
<li><strong>Date:</strong> Saturday, November 25, 2017</li>
<li><strong>Category:</strong> bicycles</li>
<li><strong>Region:</strong> Je (
<new_region>
street
</new_region>
)</li>
<li><strong>Posting ID:</strong> 37021705</li>

<li><button class="btn big primary posting-phone"><span class="icon-phone"></span> <a href="tel:0503748197">0503748197</a></button></li>

</ul>
</div>
</div>
错误输出:

[]
[]
[]

这就是我想出的代码:

from bs4 import BeautifulSoup

soup=BeautifulSoup(pages,'html.parser').find('div','main-content') 

ulobj = soup.find('ul','no-bullet')
date = ulobj.find("li").text;
print(date)
它给出了输出:

Date: Saturday, November 25, 2017
要获得所需的输出,只需

 >>> print(date[6:])
 Saturday, November 25, 2017

但它之所以有效,是因为它是html代码中的第一个li,所以这就是我提出的代码:

from bs4 import BeautifulSoup

soup=BeautifulSoup(pages,'html.parser').find('div','main-content') 

ulobj = soup.find('ul','no-bullet')
date = ulobj.find("li").text;
print(date)
它给出了输出:

Date: Saturday, November 25, 2017
要获得所需的输出,只需

 >>> print(date[6:])
 Saturday, November 25, 2017

但是它之所以有效,是因为它是html代码中的第一个li

仍然存在相同的问题我认为正则表达式的问题,如果没有正则表达式,您可以帮助解决这个问题会更好。。Thankso通过使用find查找第一个li并删除标记修复了该问题。注意:html.parser只是一个内置的,没有区别。仍然是相同的问题我认为正则表达式的问题,如果没有正则表达式,你可以帮助更好。。Thankso通过使用find查找第一个li并删除标记修复了该问题。注意:html.parser只是一个内置的,没有区别。请编辑您的问题,并准确说明您希望获得的输出。我声明我正在尝试获取日期,无论如何,根据您的建议,明确提到了所需的输出。希望你能提出一些建议?thanksI问道,因为您的regexp看起来不像是试图匹配示例html中的内容。不管怎样,这样的方法应该是可行的:
date=ulobj.find\u all(string=re.compile(r'\b\w++[,\s]+\w++\s++\d{1,2}[,\s]+\d{4}\b')
\n谢谢你的建议,兄弟。请编辑你的问题,并准确说明你希望得到什么样的输出。我说我正在尝试获取日期,无论如何,按照你的建议,清楚地提到了所需的输出。希望你能提出一些建议?thanksI问道,因为您的regexp看起来不像是试图匹配示例html中的内容。无论如何,像这样的东西应该会起作用:
date=ulobj.find_all(string=re.compile(r'\b\w+[,\s]+\w+\s+\d{1,2}[,\s]+\d{4}\b')
\bro谢谢你的建议。