【发布时间】:2012-01-26 19:12:31
【问题描述】:
是的,是的,我权衡了使用 xml 解析器而不是正则表达式,但这似乎是一个足够简单的情况,它是合适的:
from BeautifulSoup import BeautifulSoup
from urllib import urlopen
tempSite = 'http://www.sumkindawebsiterighthur.com'
theTempSite = urlopen(tempSite).read()
currentTempSite = BeautifulSoup(theTempSite)
Email = currentTempSite.findAll('tr', valign="top")
print Email[0]
目前结果:
<tr valign="top">
<td><p>Phone Number:</p></td>
<td> </td>
<td><p>706-878-8888</p></td>
</tr>
我正在尝试删除所有标记(tr、td、p、 也会很好)和结果:
Phone Number: 706-878-8888
我的问题是过度排除和多行正则表达式,寻找在单行上输出的答案。
【问题讨论】:
-
如果您已经拥有一个带有 BeautifulSoup 的 DOM,则不需要 XML 解析器。当然,您可以递归地遍历子节点并连接每个子节点的内部文本吗? (我从没用过 BeautifulSoup)
-
我得到一个空列表 (
Email = []),这是正确的 URL 吗? -
哈哈不,不是正确的站点。将某人的信息保密。不过,必须有一个简单的解决方案。
-
为@Cameron +1。不要为此使用正则表达式,使用 BeautifulSoup 进一步尝试,你会得到更好的结果,并学习“正确的方法”来做这类事情。
标签: python html regex beautifulsoup