Как получить доступ к ярлыку после aTag href, чтобы получить название продукта, указанного на веб-сайте? - PullRequest
1 голос
/ 01 мая 2020

Всякий раз, когда я запускаю свой код и пытаюсь напечатать заголовок элемента, который является меткой aTag, он выводит «none». Я хочу получить доступ к абзацу, который идет после href и перед закрывающим тегом.

    import bs4
    #uReq is our arbitrary shorthand for urllib.request
    import urllib
    from urllib.request import urlopen as uReq
    from bs4 import BeautifulSoup as soup

    #The URL we plan to use
    my_url = 'https://www.newegg.com/'

    #uReq(my_url) opens up web client
    Client = uReq(my_url)
    #uClient.read dumps everything out of the url
    html_page = Client.read()
    Client.close()


    page_soup = soup(html_page, "html.parser")
    itemContainers= page_soup.findAll("div{"class":"item-container"})
    page = page_soup.find("h2","swiper-box-top-title")
    itemTitle = itemContainers[0].find("class", "item-title")
    print(itemTitle)

1 Ответ

1 голос
/ 01 мая 2020

Вы можете использовать:

import requests
from bs4 import BeautifulSoup

my_url = 'https://www.newegg.com/'
soup = BeautifulSoup(requests.get(my_url).text, "html5lib")
links = soup.find_all("a", {"class": "item-title"})
for link in links:
    print(link.text)
    print(link["href"])

Acer KG271 bmiix 27" Full HD 1920 x 1080 75Hz 1ms HDMI VGA AMD FreeSync ZeroFrame Flikcer-Less BlueShield Built-in Speakers ...
https://www.newegg.com/black-acer-kg1-series-kg271-bmiix-27/p/N82E16824011127?Item=N82E16824011127&cm_sp=Homepage_SS-_-P1_24-011-127-_-04302020
HP S700 2.5" 1TB SATA III 3D TLC Internal Solid State Drive (SSD) 6MC15AA#ABC
https://www.newegg.com/hp-s700-1tb/p/0D9-000H-007T9?Item=0D9-000H-007T9&cm_sp=Homepage_SS-_-P2_0D9-000H-007T9-_-04302020

PS: NewEgg использует Google ReCaptcha, и вы наверняка будете заблокированы после нескольких запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...