例如,我有这样一个链接列表:
linklists = ['www.right1.com', www.right2.com', 'www.wrong.com', 'www.right3.com']
每个right1,right2和right3的html的形式是:
<html>
<p>
hi
</p>
<strong>
hello
</strong>
</html>
以及www.wrong.comhtml是(实际的html要复杂得多):
<html>
<p>
hi
</p>
</html>
我使用这样的代码:
from BeautifulSoup import BeautifulSoup
stronglist=[]
for httplink in linklists:
url = httplink
page = urllib2.urlopen(url)
html = page.read()
soup = BeautifulSoup(html)
findstrong = soup.findAll("strong")
findstrong = str(findstrong)
findstrong = re.sub(r'\[|\]|\s*<[^>]*>\s*', '', findstrong) #remove tag
stronglist.append(findstrong)
我想做的是:
通过列表中的html链接'linklists'
在<strong>
将它们添加到列表'stronglist'
但问题是:
有一个错误的链接(www.wrong.com
)没有。
然后代码显示错误。。。你知道吗
我想要的是一个异常处理(或其他一些),如果链接没有“strong”字段(它有错误),我希望代码将字符串“null”添加到strong列表,因为它无法从链接获取数据。你知道吗
我一直在用“如果”来解决这个问题,但这对我来说有点困难
有什么建议吗?你知道吗
不需要使用异常处理。只要确定findAll方法何时返回空列表并处理它。你知道吗
相关问题 更多 >
编程相关推荐