Как соскрести только цены меньше, чем х с Craigslist - PullRequest
1 голос
/ 08 июля 2019

У меня есть bs4, списывающий подержанные машины на craigslist. Сейчас он возвращает все сообщения, но я пытаюсь получить сообщения менее чем за 2 тыс. Долларов. Я знаю, что мне нужен либо вложенный оператор if, либо отдельная функция. любая помощь?

# Loop through returned results
for result in results:
    # Error handling
    try:
        # Identify and return title of listing
        title = result.find('a', class_="result-title").text
        # Identify and return price of listing
        price = result.a.span.text
        # Identify and return link to listing
        link = result.a['href']

        # Print results only if title, price, and link are available
        if (price and title and link):
            print('-------------')
            print(title)
            print(price)
            print(link)
        next
    except AttributeError as e:
        print(e)

1 Ответ

0 голосов
/ 08 июля 2019

Вы можете проверить, если int(price) >= 2_000 и пропустить печать, если она использует continue:

for result in results:
    title = result.find('a', class_="result-title").text
    price = result.a.span.text
    link = result.a['href']

    try:
        if int(price) >= 2_000:
            continue
    except ValueError:
        continue


    if all(price, title, link):
        print('-------------')
        print(title, price, link, sep='\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...