BeautifulSoup получить конкретную ссылку из класса

#python #web-scraping #beautifulsoup

#питон #веб-очистка #beautifulsoup

Вопрос:

Я хотел бы составить список со всеми ссылками на этот HTML-код:

 <a href="/Comppany_Review-g186338-d1316206-Reviews-name_company1-America.html" class="_60_ydu6b" target="_self">1<!-- -->. <!-- -->namecompany1</a>
 

или

 <a href="/Comppany_Review-g186338-d1316798-Reviews-name_company2-America.html" class="_60_ydu6b" target="_self">1<!-- -->. <!-- -->namecompany1</a>
 

Как вы видите, они разделяют одну и ту же часть ссылки и класса. (в коде есть другие ссылки с другим классом, которые я не хочу включать.

Я пробовал следующее:

 soup = bs4.BeautifulSoup(result.text,("lxml"))
    for item in soup.find_all("a",href= True ,):
        comppany_links.append(item.text)
 

но получает все слова, написанные для гиперссылки, а не для реальной ссылки и не из этого конкретного класса. Как я могу это сделать?

Ответ №1:

Попробуйте использовать CSS-селектор, чтобы получить список ссылок с определенным именем класса:

 for item in soup.select("a._60_ydu6b"):
    comppany_links.append(item['href'])
 

Комментарии:

1. Спасибо за это, это дает мне название компании, связанной с гиперссылкой, но мне нужна реальная гиперссылка, такая как: «/Comppany_Review-g186338-d1316798-Reviews-name_company2-America.html »

2. @Piwero попробуйте comppany_links.append(item['href'])