python正则表达式:提取HTML元素的内容
我在HTML页面中有以下格式的元素:python正则表达式:提取HTML元素的内容,python,Python,我在HTML页面中有以下格式的元素: <td class="cell1"><b>Dave Mason's Traffic Jam</b></td><td class="cell2">Scottish Rite Auditorium</td><td class="cell3">$29-$45</td><td class="cell4">On sale now</td><td
<td class="cell1"><b>Dave Mason's Traffic Jam</b></td><td class="cell2">Scottish Rite
Auditorium</td><td class="cell3">$29-$45</td><td class="cell4">On sale now</td><td class="cell5"><a
href="http://www.ticketmaster.com/dave-masons-traffic-jam-collingswood-new-jersey-11-29-2014/event
/02004B48C416D202?artistid=1033927&majorcatid=10001&minorcatid=1&tm_link=venue_msg-
1_02004B48C416D202" target="_blank">TIX</a></td><td class="cell6">AA</td><td
class="cell7">Philadelphia</td>
戴夫·梅森的塞车苏格兰仪式
礼堂售价29-45美元,现费城出售
我想使用python分别从文本中提取“Dave Mason的交通堵塞”部分、“苏格兰仪式礼堂”部分等。
使用此正则表达式“*”将从第一个标记返回到下一换行之前的最后一个标记。如何更改表达式,使其仅返回标记对之间的块
编辑:@HenryKeiter&@Hakiko这太棒了,但是对于一个需要我使用python正则表达式的任务来说,这是一个提示,而不是一个完整的解决方案:在您的情况下,您需要使用一个非贪婪的正则表达式。基本上,你需要使用
.*?
而不是
.*
非贪婪意味着将匹配最小模式。默认情况下-最大值。使用:
使用真正的HTML解析器,如。不要费心用正则表达式解析HTML。我认为用正则表达式提取你的内容是一件令人头痛的事。使用HTML解析器。Re:编辑:如果需要使用正则表达式,则需要更好地定义要提取的内容。所有单元格的所有内容?只是一些?找出如何描述你需要匹配的内容,剩下的只是学习使用提示:<代码> > * * '/COD>可能会在你想要的中间,一旦你弄清楚边界应该是什么。而且,作为这样一个任务的唯一可能的目的是教你Python正则表达式语法,我认为在你真正开始之前来这里乞求答案是不明智的。一旦你能更好地定义你的问题,如果你有一个使某个正则表达式工作的特定问题,问一个与之相关的问题,你将更有可能得到有用的、相关的答案。
from bs4 import BeautifulSoup
html = '''
<td class="cell1"><b>Dave Mason's Traffic Jam</b></td><td class="cell2">Scottish Rite
Auditorium</td><td class="cell3">$29-$45</td><td class="cell4">On sale now</td><td class="cell5"><a
href="http://www.ticketmaster.com/dave-masons-traffic-jam-collingswood-new-jersey-11-29-2014/event
/02004B48C416D202?artistid=1033927&majorcatid=10001&minorcatid=1&tm_link=venue_msg-
1_02004B48C416D202" target="_blank">TIX</a></td><td class="cell6">AA</td><td
class="cell7">Philadelphia</td>
'''.strip()
soup = BeautifulSoup(html)
tds = soup.find_all('td')
contentList = []
for td in tds:
contentList.append(td.get_text())
print contentList
[u"Dave Mason's Traffic Jam", u'Scottish Rite\nAuditorium', u'$29-$45', u'On sale now', u'TIX', u'AA', u'Philadelphia']