Python正则表达式字符串排除

时间:2012-01-23 22:18:34

标签: python regex string beautifulsoup

使用beautfiulsoup解析源代码以进行抓取:

tempSite = preSite+'/contact_us/'
print tempSite
theTempSite = urlopen(tempSite).read()
currentTempSite = BeautifulSoup(theTempSite)
lightwaveEmail = currentTempSite('input')[7]

#<input type="Hidden" name="bb_recipient" value="comm2342@gmail.com" />

如何重新编译lightwaveEmail以便只打印comm2342@gmail.com?

2 个答案:

答案 0 :(得分:2)

有点走错路。错误的方法是你使用编号索引来找到你想要的标签 - BeautifulSoup会根据他们的标签为你找到标签,或者让它更简单的属性。

你想要像

这样的东西
tempSite = preSite+'/contact_us/'
print tempSite
theTempSite = urlopen(tempSite).read()
soup = BeautifulSoup(theTempSite)
tag = soup.find("input", { "name" : "bb_recipient" })
print tag['value']

答案 1 :(得分:0)

如果问题是如何从标记对象获取value属性,那么您可以将它用作字典:

lightwaveEmail['value']

您可以在BeautifulSoup documentation

中找到有关此内容的更多信息

如果问题是如何在汤中找到具有这样值的所有input标签,那么您可以按如下方式查找它们:

soup.findAll('input', value=re.compile(r'comm2342@gmail.com'))

您也可以在BeautifulSoup documentation中找到类似的示例。