Всех приветствую, столкнулся с мини-проблемой при парсинге. Парсю сайт с объявлениями машин в Турции (если у вас не турецкий ИП то при входе на сайт нужна регистрация). Парсю через селениум т.к при БС4 сайт сразу определяет бота.
Спарсил title, price, пробег машин, итд с помощью цикла for который пробегается по каждому объявлению через общий класс "searchResultsItem". Вот код одного объявления
<tr data-id="895749612"
class="searchResultsItem ">
<td class="searchResultsLargeThumbnail">
<a href="/ilan/vasita-otomobil-renault-fluence-ect-1.6-16-v-895749612/detay" title="fluence ect 1.6 16 v">
<img class="searchResultThumbnailPlaceholder otherNoImage"
src="https://s0.shbdn.com/assets/images/iconHasMegaPhotoLarge:d9417b1d5ff2b476ea61565150588a96.png"
alt="fluence ect 1.6 16 v #895749612" title="Megafotolu ilan"/>
</a>
</td>
<td class="searchResultsTagAttributeValue">
1.6 Extreme</td>
<td class="searchResultsTitleValue ">
<input id="favoriteClassifiedsVisibility" type="hidden" value="true"/>
<div class="action-wrapper" data-classified-id="895749612">
<div class="add-to-favorites last favorite">
<a href="#"
class="action classifiedAddFavorite trackClick trackId_favorite hidden"
data-content="Favorilerime Ekle">
</a>
<a href="#"
class="action classifiedRemoveFavorite trackClick trackId_favorite disable"
data-content="Favorilerimde">
</a>
</div>
<div class="compare hidden">
<a class="facetedCheckbox action compare-classified" data-content="İlan Karşılaştır">
<i></i>
</a>
</div>
</div>
<a class=" classifiedTitle"
title="fluence ect 1.6 16 v"
href="/ilan/vasita-otomobil-renault-fluence-ect-1.6-16-v-895749612/detay">
fluence ect 1.6 16 v</a>
<!-- This file has been included to desktop(classic, list, gallery view) and responsive -->
</td>
<td class="searchResultsAttributeValue">
2011</td>
<td class="searchResultsAttributeValue">
170.000</td>
<td class="searchResultsAttributeValue">
Lacivert</td>
<td class="searchResultsPriceValue">
<div> 69.000 TL</div></td>
<td class="searchResultsDateValue">
<span>31 Mayıs</span>
<br/>
<span>2021</span>
</td>
<td class="searchResultsLocationValue">
Kocaeli<br/>Derince</td>
<td class="ignore-me">
<a href="#" class="mark-as-ignored" title="Bu ilanla ilgilenmiyorum, gizle."></a>
<a href="#" class="mark-as-not-ignored disable" data-content="Göster"></a>
</td>
</tr>
как видите в классе classifiedTitle в теге А есть атрибут href , но когда я пытаюсь спарсить этот атрибут код выдает мне одну и ту же ссылку, то есть на сайте 20 обьявлений но мне выдается 20 одинаковых, уже перепробывал все что знаю, помогите решить пожалуйста! Вот мой код
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import random
from selenium.common.exceptions import NoSuchElementException
browser = webdriver.Chrome('../chromedriver/chromedriver')
def get_first_ads():
try:
browser.get('https://www.sahibinden.com/renault-fluence?sorting=price_asc')
time.sleep(random.randrange(2, 4))
for card in browser.find_elements_by_class_name('searchResultsItem '):
card_titles = card.find_elements_by_class_name('classifiedTitle')
for card_title in card_titles:
#print(card_title.text)
pass
card_descs = card.find_elements_by_class_name('searchResultsAttributeValue')
for card_desc in card_descs:
#print(card_desc.text)
pass
card_prices = card.find_elements_by_class_name('searchResultsPriceValue')
for card_price in card_prices:
#print(card_price.text)
pass
card_models = card.find_elements_by_class_name('searchResultsTagAttributeValue')
for card_model in card_models:
pass
card_hrefs = browser.find_elements_by_class_name('classifiedTitle')
for card_href in card_hrefs:
card_url = card_href.get_attribute('href')
#card_id = card_href.get_attribute('href')
print(card_url)
#print(f"{card_title.text} | {card_desc.text} | {card_price.text} | {card_model.text} | {card_id}")
browser.close()
browser.quit()
except Exception as ex:
print(ex)
browser.close()
browser.quit()
get_first_ads()