抓取网址时,使用BeautifulSoup处理错误

时间:2016-10-19 23:29:38

标签: python beautifulsoup

我完全不喜欢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

但我不知道在哪里,并得到一些语法错误。我看了其他问题,但找不到任何答案。

1 个答案:

答案 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

    # ...