Как я могу сохранить выходные данные двух циклов в одну переменную? - PullRequest
0 голосов
/ 19 февраля 2019

Я перебираю сайт, чтобы узнать название модели и цену за нее.С этими двумя циклами я получаю только два списка названий устройств и цен на устройства.

(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 голосов
/ 19 февраля 2019

Вы можете сжать два результата скрапа и повторить их оба одновременно, используя 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...