Hej, mam pytanie, robię sobie aplikację na portfolio (scrapping + Python) i nie mogę sobie poradzić z dwoma rzeczami,
Jak pobrać miniaturki zdjęć?
https://www.olx.pl/d/motoryzacja/samochody/porsche/?search%5Bfilter_enum_model%5D%5B0%5D=944
miałem kod któty pobierał po XPath:
//*[@id="root"]/div[1]/div[2]/form/div[5]/div/div[2]/div[{counter}]/a/div/div/div[1]/div[1]/div
i wszytko działo dobrze a od 2 dni dostaję informację
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate..
.. włosy sobie z głowy wyrywam może JS coś dynamicznie zmienia? (tą wskazówkę dostałem od użytkownika 4p. (za co dziękuję) ale dalej nie mogę sobie z tym poradzić), Jak pobrać te miniaturki?
- Którego DIVa kliknąć a Scrapingu aby wejść w konkretną ofertę auta? też się w tym pogubiłem bo można kliknąć i na cenę i zdjęcie.. już przeklikałem się przez chyba wszystkie DIVy i mam ten sam błąd co wyżej.. Bardzo dziękuję za pomoc
import request
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
def downloadImage(url, name):
r = requests.get(url)
with open(name, "wb") as f:
f.write(r.content)
option = Options()
driver = webdriver.Chrome(ChromeDriverManager().install(), options=option)
driver.get('https://www.olx.pl/d/motoryzacja/samochody/porsche/?search%5Bfilter_enum_model%5D%5B0%5D=944')
driver.find_element(By.ID, 'onetrust-accept-btn-handler').click() # Cookies
img=driver.find_element(By.CLASS_NAME, 'css-gl6djm')
imgURL=img.get_attribute('src')
savedImageName='Image.jpg'
downloadImage(imgURL,savedImageName)
name = r'work_dir/'
url = r'https://www.olx.pl/d/motoryzacja/samochody/porsche/?search%5Bfilter_enum_model%5D%5B0%5D=944'
downloadImage(url, name)```