如何将两个循环的输出存储到一个变量中?

时间:2019-02-19 19:24:07

标签: python loops beautifulsoup

我正在抓捕一个网站以获取名称模型和价格。通过这两个循环,我仅获得两个设备名称和设备价格的列表。

(Name Model)
(Price)

如何组合这两个循环以一个字符串形式获取此信息?例如:型号名称+价格?

这是我的代码:

def main():
    for price in soup.find_all('span', class_='b-product-gallery__price'):
        modelPrice = price.text
        print(modelPrice)

    for name in soup.find_all('a', class_='b-product-gallery__title'):
        modelName = name.text
        print(modelName)
main()

1 个答案:

答案 0 :(得分:2)

您可以压缩两个刮擦结果并使用zip同时遍历两个刮擦结果。请注意,如果其中一个结果短于另一个结果,则较长的结果将被截断以匹配较短结果的长度,因此您将丢失数据。

def main():
    prices = soup.find_all('span', class_='b-product-gallery__price')
    names = soup.find_all('a', class_='b-product-gallery__title')
    for price, name in zip(prices, names):
        modelPrice = price.text
        modelName = name.text
        print(modelPrice, modelName)

main()