Python 对于循环isn';t收集web上的所有数据

Python 对于循环isn';t收集web上的所有数据,python,for-loop,web-scraping,Python,For Loop,Web Scraping,我正在为一个项目创建这个web scrape,但它只返回我要查找的一个值,而不是同时运行清单中的其他18个元素。它将返回1个房子的所有信息,但我希望其他18个房子的信息也存储在变量中。非常感谢 ''' ''您只需在之前为循环创建一个空白列表,并在每次迭代中附加所有变量,以将所有数据存储在单个列表中 您的代码如下所示: data = [] for container in listings: # extracting price price = container.div.div

我正在为一个项目创建这个web scrape,但它只返回我要查找的一个值,而不是同时运行清单中的其他18个元素。它将返回1个房子的所有信息,但我希望其他18个房子的信息也存储在变量中。非常感谢

'''


''

您只需在
之前为
循环创建一个空白列表,并在每次迭代中附加所有变量,以将所有数据存储在单个列表中

您的代码如下所示:

data = []

for container in listings:
    # extracting price
    price = container.div.div.strong.text
    # location
    name_container = container.div.find("a", {"class": "PropertyInformationCommonStyles__addressCopy--link"}).text
    # house type
    house = container.div.find("div", {"class": "QuickPropertyDetails__propertyType"}).text
    # number of bathrooms
    bath_num = container.div.find("div", {"class": "QuickPropertyDetails__iconCopy--WithBorder"}).text
    # number of bedrooms
    bed_num = container.div.find("div",{"class": "QuickPropertyDetails__iconCopy"}).text

    data.append((price, name_container, house, bath_num, bed_num))

print(data)
[('€1,350,000', 'The Penthouse at Hanover Quay, 27 Hanover Dock, Grand Canal Dock, Dublin 2', 'Apartment for sale', '2', '3'), ('€450,000', '9 Na Ceithre Gaoithe Ring, Dungarvan, Co. Waterford', ' Detached House', '4', '5'), ('€390,000', 'Cave, Caherlistrane, Co. Galway', ' Detached House', '4', '5'), ('€720,000', '18 Hazelbrook Road, Terenure, Terenure, Dublin 6', ' Detached House', '3', '4'), ('€210,000', 'Carraig Abhainn, Ballisodare, Co. Sligo', 'Bungalow for sale', '1', '3'), ('€495,000', 'Campbell Court, Cairns Hill, Sligo, Co. Sligo', ' Detached House', '4', '4'), ('€125,000', '33 Leim An Bhradain, Gort Road, Ennis, Co. Clare', 'Apartment for sale', '2', '2'), ('€395,000', '1 Windermere Court, Bishopstown, Bishopstown, Co. Cork', ' End of Terrace House', '3', '4'), ('€349,000', '59 Dun Eoin, Ballinrea Road, Carrigaline, Co. Cork', ' Detached House', '3', '4'), ('€515,000', '2 Elm Walk, Classes Lake, Ovens, Co. Cork', ' Detached House', '5', '4'), ('€490,000', '9 Munster st., Phibsborough, Dublin 7', ' Terraced House', '2', '4'), ('€249,950', '47 Westfields, Clare Road, Ennis, Co. Clare', ' Detached House', '3', '4'), ('€435,000', '3 Castlelough Avenue, Loreto Road, Killarney, Co. Kerry', ' Detached House', '3', '4'), ('€620,000', 'Beaufort House, Knockacleva, Philipstown, Dunleer, Dunleer, Co. Louth', ' Detached House', '3', '5'), ('€550,000', "Flat 5, Saint Ann's Apartments, Donnybrook, Dublin 4", 'Apartment for sale', '2', '2'), ('€675,000', '3 Church Hill, Innishannon, Co. Cork', ' Detached House', '3', '5'), ('€495,000', 'River Lodge, The Rower, Inistioge, Co. Kilkenny', ' Detached House', '4', '4'), ('€325,000', 'Coolgarrane House, Coolgarrane, Thurles, Co. Tipperary', ' Detached House', '1', '4'), ('€399,950', 'No 14 Coopers Grange Old Quarter, Ballincollig, Co. Cork', ' Semi-Detached House', '3', '4')]
最终输出如下所示:

data = []

for container in listings:
    # extracting price
    price = container.div.div.strong.text
    # location
    name_container = container.div.find("a", {"class": "PropertyInformationCommonStyles__addressCopy--link"}).text
    # house type
    house = container.div.find("div", {"class": "QuickPropertyDetails__propertyType"}).text
    # number of bathrooms
    bath_num = container.div.find("div", {"class": "QuickPropertyDetails__iconCopy--WithBorder"}).text
    # number of bedrooms
    bed_num = container.div.find("div",{"class": "QuickPropertyDetails__iconCopy"}).text

    data.append((price, name_container, house, bath_num, bed_num))

print(data)
[('€1,350,000', 'The Penthouse at Hanover Quay, 27 Hanover Dock, Grand Canal Dock, Dublin 2', 'Apartment for sale', '2', '3'), ('€450,000', '9 Na Ceithre Gaoithe Ring, Dungarvan, Co. Waterford', ' Detached House', '4', '5'), ('€390,000', 'Cave, Caherlistrane, Co. Galway', ' Detached House', '4', '5'), ('€720,000', '18 Hazelbrook Road, Terenure, Terenure, Dublin 6', ' Detached House', '3', '4'), ('€210,000', 'Carraig Abhainn, Ballisodare, Co. Sligo', 'Bungalow for sale', '1', '3'), ('€495,000', 'Campbell Court, Cairns Hill, Sligo, Co. Sligo', ' Detached House', '4', '4'), ('€125,000', '33 Leim An Bhradain, Gort Road, Ennis, Co. Clare', 'Apartment for sale', '2', '2'), ('€395,000', '1 Windermere Court, Bishopstown, Bishopstown, Co. Cork', ' End of Terrace House', '3', '4'), ('€349,000', '59 Dun Eoin, Ballinrea Road, Carrigaline, Co. Cork', ' Detached House', '3', '4'), ('€515,000', '2 Elm Walk, Classes Lake, Ovens, Co. Cork', ' Detached House', '5', '4'), ('€490,000', '9 Munster st., Phibsborough, Dublin 7', ' Terraced House', '2', '4'), ('€249,950', '47 Westfields, Clare Road, Ennis, Co. Clare', ' Detached House', '3', '4'), ('€435,000', '3 Castlelough Avenue, Loreto Road, Killarney, Co. Kerry', ' Detached House', '3', '4'), ('€620,000', 'Beaufort House, Knockacleva, Philipstown, Dunleer, Dunleer, Co. Louth', ' Detached House', '3', '5'), ('€550,000', "Flat 5, Saint Ann's Apartments, Donnybrook, Dublin 4", 'Apartment for sale', '2', '2'), ('€675,000', '3 Church Hill, Innishannon, Co. Cork', ' Detached House', '3', '5'), ('€495,000', 'River Lodge, The Rower, Inistioge, Co. Kilkenny', ' Detached House', '4', '4'), ('€325,000', 'Coolgarrane House, Coolgarrane, Thurles, Co. Tipperary', ' Detached House', '1', '4'), ('€399,950', 'No 14 Coopers Grange Old Quarter, Ballincollig, Co. Cork', ' Semi-Detached House', '3', '4')]

虽然您正在迭代集合(循环),但始终会覆盖相同的标量变量集,如price、house等。您可能需要使用某些集合类型来捕获循环中推断的所有值。@Nair在创建列表时,是否将它们附加到该列表中?抱歉,我在这方面很软弱@Adriankenely,Dict是另一个选择,如果你更喜欢简单的查找。这里的键可以是您的链接,内容可以是值(存储为列表)。这允许您在密钥/值对下对特定于站点的数据进行分类。