Как определить, является ли значение html пустым при списании, и вместо этого перехватить другое значение? - PullRequest
0 голосов
/ 21 сентября 2018

Я не могу найти ответ в других сообщениях.Я соскребаю цены на товары с сайта.Некоторые продукты хранят свои цены в классе html, а другие продукты хранят его в другом (например, некоторые продукты имеют цену за кг, а другие имеют цену за единицу в разных тегах).

У меня есть 3 переменные.Один, чтобы очистить название продукта, и два других, чтобы намокнуть, если у него есть цена за килограмм или цена за единицу, и если у него нет ни одного из них, он печатает то, что сказано, кроме.

Дело в том,HTML хранит оба тега, один пустой и один имеет цену.Я не могу сделать if / else, чтобы проверить, является ли значение в теге пустым, и получить значение из другого тега.Я пытался с if 0: do something, if "": do something, if False: do something, if priceKG: do something... but none is catching this empty value.

For search in product_list:
    sleep(randint(2, 6))
    url = "http://www.tottus.com.pe/tottus/product/" + search.strip() + "?navAction=jump&navCount=2"
    r = requests.get(url)
    soup = BeautifulSoup(r.content, "lxml")
    try:
        producto = soup.find(["div"], {"class": ["title"]}).h5.text
        priceKG = soup.find(["div"], {"class": ["price-unit"]}).text
        priceUN = soup.find(["span"], {"class": ["active-price"]}).span.text
        if priceKG:
            print(
                [producto.strip(), priceKG.strip()])
        else:
            print(
                [producto.strip(), priceUN.strip()])

    except:
        print(producto.strip(),"No Disp.")

        pass

Спасибо

...