@Alexo99

Как достать ссылку из тега href, если при парсинге возвращает решетку #?

Хочу спарсить инфу. Столкнулся со следующей проблемой. Хочу собрать сообщения из канала, для каждого сообщения найти уникалный линк. Есть часть страницы:
<a class="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl gpro0wi8 oo9gr5id lrazzd5p" href="https://www.facebook.com/people/%D0%92%D0%BE%D0%B9%D0%BD%D0%B0-%D0%B2-%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B5-%D0%9C%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F/100080006252414/?__cft__[0]=AZX2W9rkRNslicOs_gzdT1erKdlIdk4bse5Y-CAFdqiNSACYTDx8h4kXENvRBW2AhZP-dCrFMwfmY68xt0Tv5KBbxdfzPNcUkw_H9V7Sqb0zHBNfpAef4GaLL8ANmbtRBFN-zCjl3f7fT5cXO-Sd2bJoyRVJ-Unz_E-o5TiNo_T7e0oRuD2mCXWExcs343MPz9leYoOBjnb7hjwgpxTaGuNg&amp;__tn__=-UC%2CP-R" role="link" tabindex="0">


Из этого фрагмента нужно достать href. Делаю я это следующим образом:
link = container.find("a", class_="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl gpro0wi8 oo9gr5id lrazzd5p").get("href")
    print(link)


Вместо ссылки которую ожидал увидеть получаю #

Если же делать лишь через селениум
container = driver.find_elements(By.CSS_SELECTOR, '[class="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl gmql0nx0 gpro0wi8 b1v8xokw"]')
        for i in container:
            print(i.get_attribute("href"))


То на выход приходит:
https://www.facebook.com/profile.php?id=100080006252414/#
Ссылка на канал есть, а идентификатор сообщения опять закрыт решеткой. Может у кого была такая проблема? Заранее благодарен за помощь!
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DenisShahbazyan
from bs4 import BeautifulSoup


tag = """
<a class="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl gpro0wi8 oo9gr5id lrazzd5p" href="https://www.facebook.com/people/%D0%92%D0%BE%D0%B9%D0%BD%D0%B0-%D0%B2-%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B5-%D0%9C%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F/100080006252414/?__cft__[0]=AZX2W9rkRNslicOs_gzdT1erKdlIdk4bse5Y-CAFdqiNSACYTDx8h4kXENvRBW2AhZP-dCrFMwfmY68xt0Tv5KBbxdfzPNcUkw_H9V7Sqb0zHBNfpAef4GaLL8ANmbtRBFN-zCjl3f7fT5cXO-Sd2bJoyRVJ-Unz_E-o5TiNo_T7e0oRuD2mCXWExcs343MPz9leYoOBjnb7hjwgpxTaGuNg&amp;__tn__=-UC%2CP-R" role="link" tabindex="0">
"""

soup = BeautifulSoup(tag, features='lxml')

link = soup.find("a", class_="oajrlxb2 g5ia77u1 qu0x051f esr5mh6w e9989ue4 r7d6kgcz rq0escxv nhd2j8a9 nc684nl6 p7hjln8o kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x jb3vyjys rz4wbd8a qt6c0cv9 a8nywdso i1ao9s8h esuyzwwr f1sip0of lzcic4wl gpro0wi8 oo9gr5id lrazzd5p")

print(link['href'])


Вывод

https://www.facebook.com/people/%D0%92%D0%BE%D0%B9%D0%BD%D0%B0-%D0%B2-%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B5-%D0%9C%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F/100080006252414/?__cft__[0]=AZX2W9rkRNslicOs_gzdT1erKdlIdk4bse5Y-CAFdqiNSACYTDx8h4kXENvRBW2AhZP-dCrFMwfmY68xt0Tv5KBbxdfzPNcUkw_H9V7Sqb0zHBNfpAef4GaLL8ANmbtRBFN-zCjl3f7fT5cXO-Sd2bJoyRVJ-Unz_E-o5TiNo_T7e0oRuD2mCXWExcs343MPz9leYoOBjnb7hjwgpxTaGuNg&__tn__=-UC%2CP-R
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы