Python 使用BeautifulSoup4从HTML获取消息

Python 使用BeautifulSoup4从HTML获取消息,python,Python,我的HTML格式如下: <a class="archive-title" target="_blank" href="http://python.jobbole.com/84100/" title="SQLAlchemy 和其他的 ORM 框架">SQLAlchemy 和其他的 ORM 框架</a><br /> 2016/01/12 &middot 结果是: http://python.jobbole.com/84100/ S

我的HTML格式如下:

<a class="archive-title" target="_blank" href="http://python.jobbole.com/84100/" title="SQLAlchemy 和其他的 ORM 框架">SQLAlchemy 和其他的 ORM 框架</a><br />
            2016/01/12 &middot
结果是:

http://python.jobbole.com/84100/ SQLAlchemy 和其他的 ORM 框架

我不知道如何同时获得2016/01/11的日期。我该怎么办?

如果整个页面中的模式相同:

[a.parents.contents[-1] for a in soup.find_all('a')]

(如果父节点中有更多内容,则将索引更改为非-1)

如果整个页面中的模式相同:

[a.parents.contents[-1] for a in soup.find_all('a')]

(如果父节点中有更多内容,则将索引更改为非-1)

Regex始终是一个选项:

import re
src = """<a class="archive-title" target="_blank" href="http://python.jobbole.com/84100/" title="SQLAlchemy 和其他的 ORM 框架">SQLAlchemy 和其他的 ORM 框架</a><br />
        2016/01/12 &middot"""
print re.findall('(\d{4}/\d{2}/\d{2})', src.replace('\n','') )
重新导入
src=“”
2016/01/12和middot“ print re.findall('(\d{4}/\d{2}/\d{2}'),src.replace('\n','')

结果是:['2016/01/12']

正则表达式始终是一个选项:

import re
src = """<a class="archive-title" target="_blank" href="http://python.jobbole.com/84100/" title="SQLAlchemy 和其他的 ORM 框架">SQLAlchemy 和其他的 ORM 框架</a><br />
        2016/01/12 &middot"""
print re.findall('(\d{4}/\d{2}/\d{2})', src.replace('\n','') )
重新导入
src=“”
2016/01/12和middot“ print re.findall('(\d{4}/\d{2}/\d{2}'),src.replace('\n','')

结果是:['2016/01/12']

你已经试过了吗?请显示此(示例代码)!您确实发现BeautifulSoup是一种可以帮助您的功能…您可以使用result=soup.find_all(text=True)。这将查找包括日期在内的所有文本(不幸的是,它还会再次查找标题(也是文本))。现在,您正在查看所有的“a”标记,而日期不在标记中(但在它之后)。您已经尝试过了吗?请显示此(示例代码)!您确实发现BeautifulSoup是一种可以帮助您的功能…您可以使用result=soup.find_all(text=True)。这将查找包括日期在内的所有文本(不幸的是,它还会再次查找标题(也是文本))。现在您正在查看所有的“a”标记,日期不在标记中(而是在它之后)。