Python 如何在Beaufulsoup3中运行Beaufulsoup4命令?
我正在尝试向一个更大的项目添加新代码,但我的代码使用BeauifulSoup4,而项目最初使用BeauIfulsoup3.2.1。如果我试图在代码上运行BeautifulSoup 3.2.1,则代码中存在的Python 如何在Beaufulsoup3中运行Beaufulsoup4命令?,python,beautifulsoup,bs4,Python,Beautifulsoup,Bs4,我正在尝试向一个更大的项目添加新代码,但我的代码使用BeauifulSoup4,而项目最初使用BeauIfulsoup3.2.1。如果我试图在代码上运行BeautifulSoup 3.2.1,则代码中存在的.parent命令会出错。我试图将项目升级到BeauifulSoup4,但在我不愿意篡改的项目的某个部分中,由于测试失败而出现错误。我的主管告诉我,安装同一个pip的两个不同版本是违反公司政策的。有没有办法将.parent命令添加到BeautifulSoup 3.2.1中 soup=Beau
.parent
命令会出错。我试图将项目升级到BeauifulSoup4,但在我不愿意篡改的项目的某个部分中,由于测试失败而出现错误。我的主管告诉我,安装同一个pip的两个不同版本是违反公司政策的。有没有办法将.parent
命令添加到BeautifulSoup 3.2.1中
soup=BeautifulSoup(response.content'html.parser')
na=汤。查找(id='pizza stores')
links=na.parent.parent.find_all('a')
当我尝试在BeautifulSoup3中运行此代码时,我得到一个
TypeError:“非类型”对象不可调用
我变了
美化组(response.content,'html.parser')
BeautifulSoup(response.content)
尝试在BeautifulSoup 3中运行时。问题不在父级中,而是在bs3中的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>]
doc='link'
sp=美化组。美化组(文档)
na=sp.find(id='pizza stores')
na.parent.parent.findAll('a'))
Out[44]:[link]
3中的哪个版本?我刚刚检查了3.2.1
,父属性确实有效。项目也在使用3.2.1
,但是。父属性不适用于我。问题可能不在父属性中,但事实上,您在文档中找不到na或其父属性。可能尝试使用一个非常简单的html进行复制。可能会包含有问题的response.content吗?如果我在BeautifulSoup4中运行此代码,则此代码非常有效,因此我不认为是这种情况,但如何在两个不同版本的BeautifulSoup之间构建.parent
的代码。