jeudi 5 novembre 2020

Why does it not work to exclude certain beers from a list with exceptions?

I am still getting beers with the name "can" or "blik" or "75cl" in my list. What am I doing wrong here? It's also not working out to replace the names.

import requests
from bs4 import BeautifulSoup
from sheets import worksheet

# Find all beers being sold on Hopt.nl
import requests
from bs4 import BeautifulSoup
import time

exceptions = [
    'pack',
    'Pack',
    'stuks',
    'Stuks',
    'Voordeelverpakking',
    'voordeelverpakking',
    '75 cl',
    '75cl',
    '75',
    'cl',
    '0,0',
    '0.0',
    '0.0%',
    '0,0%',
    'blik',
    'Blik',
    'can',
    'Can'
]



def beers_list():
    beers = []

    for i in range(1, 10):
        hopt_url = f'https://www.hopt.nl/3-flessen/stijl-stout/p-{i}'
        res = requests.get(hopt_url)
        soup = BeautifulSoup(res.text, 'html.parser')
        beer_elems = soup.select('a[class="styled__Element-k8ouqn-0 cVCNEG styled__Name-sc-1p1oe13-4 gflCrd"]')
        if beer_elems == '':
            break
        for i in range(len(beer_elems)):
            beer_name = beer_elems[i].getText()
            # if not 'pack' or 'Pack' or 'stuks' or 'Stuks' or 'Voordeelverpakking' or 'voordeelverpakking' or '75 cl' or '75cl' or '0,0' or ollie in beer_name:
            if beer_name not in exceptions:
                beer_name.replace(" - Can", "")
                beer_name.replace(" - Blik", "")
                beers.append(beer_name)
            print(beer_name)
    return beers

Aucun commentaire:

Enregistrer un commentaire