Как решить, найдя по две из каждой ссылки (Beautifulsoup, python)

Im используя beautifulsoup4 для разбора веб-страницы и сбора всех значений href с помощью этого кода

    #Collect links from 'new' page
pageRequest = requests.get('http://www.supremenewyork.com/shop/all/shirts')
soup = BeautifulSoup(pageRequest.content, "html.parser")
links = soup.select("div.turbolink_scroller a")

allProductInfo = soup.find_all("a", class_="name-link")
print allProductInfo

linksList1 = []
for href in allProductInfo:
    linksList1.append(href.get('href'))

print(linksList1)

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

3 ответа

  1. Этот код даст вам результат без получения дубликатов результатов
    (также использование set() может быть хорошей идеей, как @Tarum Gupta)
    Но я изменил то, как ты ползаешь

    import requests
    from  bs4 import BeautifulSoup
    
    #Collect links from 'new' page
    pageRequest = requests.get('http://www.supremenewyork.com/shop/all/shirts')
    soup = BeautifulSoup(pageRequest.content, "html.parser")
    links = soup.select("div.turbolink_scroller a")
    
    # Gets all divs with class of inner-article then search for a with name-link class
    that is inside an h1 tag
    allProductInfo = soup.select("div.inner-article h1 a.name-link")
    # print (allProductInfo)
    
    linksList1 = []
    for href in allProductInfo:
        linksList1.append(href.get('href'))
    
    print(linksList1)
    
  2. set(linksList1)        # use set() to remove duplicate link
    list(set(linksList1))  # use list() convert set to list if you need