#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'])