我尝试将新代码添加到更大的项目中,但我的代码使用BeauifulSoup4,而该项目最初使用的是BeautifulSoup 3.2.1。如果我尝试在我的代码上运行BeautifulSoup 3.2.1,我的代码中存在.parent
命令的错误。我尝试将项目升级到BeauifulSoup4,但是我在项目的一部分中得到了错误的测试错误,我不想篡改。我的主管告诉我,违反公司政策要安装两个不同版本的同一个点子。有没有办法将.parent
命令添加到BeautifulSoup 3.2.1?
soup = BeautifulSoup(response.content, 'html.parser')
na = soup.find(id='pizza stores')
links = na.parent.parent.find_all('a')
当我尝试在BeautifulSoup 3中运行此代码时,我得到了一个
TypeError: 'NoneType' object is not callable
我改变了
BeautifulSoup(response.content, 'html.parser')
来
尝试在BeautifulSoup 3中运行时BeautifulSoup(response.content)
。
答案 0 :(得分:0)
问题不在parent
中,在find_all
中,在{b} 3中应该是findAll
。
doc = '<html><body><div><div id="pizza stores"></div></div><a>link</a></body></html>'
sp = BeautifulSoup.BeautifulSoup(doc)
na = sp.find(id='pizza stores')
na.parent.parent.findAll('a')
Out[44]: [<a>link</a>]