【发布时间】:2014-02-17 02:34:06
【问题描述】:
我正在使用 isinstance 选择一些 html 标签并将它们传递给 Beautifulsoup 函数。问题是我不断从应该是完全可执行的代码中获取 NameErrors。
def horse_search(tag):
return (tag.has_attr('href') and isinstance(tag.previous_element, span))
...
for tag in soup.find_all(horse_search):
print (tag)
NameError:未定义全局名称“span”
此外,我使用 isinstance 和 tag.previous_element 从 Beautifulsoup 文档中的示例代码中得到错误
def surrounded_by_strings(tag):
return (isinstance(tag.next_element, NavigableString)
and isinstance(tag.previous_element, NavigableString))
for tag in soup.find_all(surrounded_by_strings):
print tag.name
NameError:未定义全局名称“NavigableString”
可能出了什么问题?谢谢!
【问题讨论】:
-
您想通过
isinstance调用来达到什么目的?另外,显示你的进口 -
Imports are from bs4 import BeautifulSoup, import requests, import re, import time and import random。我正在寻找包含我需要的字符串的标签。在所有 标签中,我只需要几个标签,它们都是 span 标签的子标签。
标签: python beautifulsoup nameerror isinstance