Python 属性始终为无

Python 属性始终为无,python,python-3.x,web,scraper,Python,Python 3.x,Web,Scraper,我一直在尝试创建一个web scraper,它收集网站上某个对象的名称、价格和地区,但无法对其执行任何操作,因为它会引发错误: AttributeError:“非类型”对象没有属性“strip” 我该怎么办?救命啊!还有我怎么去第二分区?当我做districtcontainers=souped.find_all(“div”,“class”:“公告块链接”)然后districtcontainers[0].div.div,它会给出0输出。如何解决这个问题?非常感谢您的关注和回答:) 首先,上一个pr

我一直在尝试创建一个web scraper,它收集网站上某个对象的名称、价格和地区,但无法对其执行任何操作,因为它会引发错误:

AttributeError:“非类型”对象没有属性“strip”

我该怎么办?救命啊!还有我怎么去第二分区?当我做
districtcontainers=souped.find_all(“div”,“class”:“公告块链接”)
然后
districtcontainers[0].div.div
,它会给出0输出。如何解决这个问题?非常感谢您的关注和回答:)


首先,上一个print语句只有两个{},但是在下面的格式调用中有三个变量,这只是一个输入错误,所以不是问题的原因

第二,调用souped对象时,其中一个变量的值似乎为None。只需检查页面的编码,确保在正确的位置找到要查找的值。如果调用不存在的节,BeautifulSoup将返回None,而不是引发错误

因为在运行print调用时似乎引发了异常,所以只需检查以确保三个调用返回变量赋值的值


至于进入页面中的第二个div,您可能希望签出下一个兄弟方法调用。

尝试
title.text
title.content
?尝试,它说EOF error yetIt有效,但它会返回每一项100次。您的意思是什么?您真的在使用soup.find\u all()?相反,您应该使用soup.findAll()你能帮我处理.div.div吗?.next\u兄弟返回“\n”。因此,我无法解析任何页面。您可以在单个实例上使用多个next_同级,因此可能需要多个next_同级才能访问HTML元素的实际文本或下一个实例。我建议使用next_同级,也可能是next_元素,因为它们确保返回值,而不是创建另一个非类型错误。
import urllib.request as uReq
from bs4 import BeautifulSoup as soup


url = uReq.urlopen("https://www.bazaraki.com/real-estate/houses-and-villas-rent/larnaka-district-larnaca/")
html = url.read()
souped = soup(html,"html.parser")
containers = souped.find_all("div",{"class":"announcement-block-text-container"})
districtcontainers = souped.find_all("div",{"class":"announcement-block__location"})
for container in containers:
    for districtcontainer in districtcontainers:
        title = container.a
        price = container.p
        district = districtcontainer
        print("{}:\n Costs: \n District:{}".format(title.string.strip(),price.string.strip(),district.string.strip()))