我完全不喜欢python所以请原谅我的错误和缺乏词汇。我想用BeautifulSoup废弃一些网址。我的网址来自GA api电话,其中一些没有回应。
如何构建我的脚本以便BeautifulSoup忽略不返回任何内容的url?
这是我的代码:
if results:
for row in results.get('rows'):
rawdata.append(row[0])
else:
print 'No results found'
urllist = [mystring + x for x in rawdata]
for row in urllist[4:8]:
page = urllib2.urlopen(row)
soup = BeautifulSoup(page, 'html.parser')
name_box = soup.find(attrs={'class': 'nb-shares'})
share = name_box.text.strip()
# save the data in tuple
sharelist.append((row,share))
print(sharelist)
我试着用这个:
except Exception:
pass
但我不知道在哪里,并得到一些语法错误。我看了其他问题,但找不到任何答案。
答案 0 :(得分:1)
您可以检查name_box
变量的值 - 如果找不到任何内容,它将是None
:
for row in urllist[4:8]:
page = urllib2.urlopen(row)
soup = BeautifulSoup(page, 'html.parser')
name_box = soup.find(attrs={'class': 'nb-shares'})
if name_box is None:
continue
# ...