如何修复AttributeError:“HTMLParserTreeBuilder”对象没有属性“initialize\u soup”

2024-09-30 04:26:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到以下错误:

AttributeError: 'HTMLParserTreeBuilder' object has no attribute 'initialize_soup'

我试图在eBay中找到M复选框的xpath(link

我用的是spyder,我已经在任何地方进口了bs4。在

^{pr2}$

我本以为会有这样的输出

^{3}$

我跟随this tutorial来帮助我编写代码。在


Tags: noobject地方错误linkattributexpath复选框
1条回答
网友
1楼 · 发布于 2024-09-30 04:26:39

首先,您的soup.find(class_='cbx x-refine__multi-select-checkbox')实际上只选择了具有cbx x-refine__multi-select-checkbox类的第一个元素

因此,要获取“M码衬衫”的url,可以执行以下操作:

代码:

import requests
from bs4 import BeautifulSoup as soup

web_page = requests.get('https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=mens+shirt&_sacat=0')
web_soup = soup(web_page.text, 'html.parser')
links = web_soup.find_all('a', {'class':'cbx x-refine__multi-select-link'})
for l in links:
    checkbox = l.find('input',{'class':'cbx x-refine__multi-select-checkbox '})
    if checkbox and 'M' == checkbox.get('aria-label'):
        #FOUND
        print(l.get('href'))

输出:

^{pr2}$

相关问题 更多 >

    热门问题