1 回答
TA贡献1833条经验 获得超4个赞
phones.extend(get_content(html.text))
TypeError: 'NoneType' object is not iterab
此错误告诉您您正在尝试迭代None. 由于extend()需要一个可迭代对象,因此这告诉您get_content()正在返回None。当函数什么都不返回时经常会发生这种情况:没有 return 语句等同于return NonePython。
果然,您的代码get_content()没有返回语句。您需要添加它:
def get_content(html):
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div', class_="product-item__i")
phone = []
for item in items:
phone.append({
'title': item.find('p', class_="product-item__name").get_text(strip=True),
'link': item.find('a', class_="product-item__name-link js-gtm-product-title").get('href'),
'price': item.find('div', class_="price-box__content-i").get_text(strip=True).replace(u'\xa0', u' ')
})
print(phone)
return phone # <--- add this
添加回答
举报