Тема: Парсинг на selemium та bs4
Вітаю!
Хочу спарсити інфу з сайту. Зіткнувся з наступною проблемою. Хочу зібрати повідомлення з каналу для кожного повідомлення знайти унікальний лінк. Є частина сторінки:
<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&__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 … 06252414/# Посилання на канал є, а ідентифікатор повідомлення знову закритий решіткою. Може в когось була така проблема? Наперед вдячний за допомогу!