Wpis z mikrobloga

Niestety z przykrością muszę stwierdzić, że otodom postanowił trochę namieszać w statystykach olxdata i popsuć liczbę ogłoszeń prezentowaną u nich na stronie. Ta błędna wartość jest aktualnie zaciągana przez mój serwis i na razie nie da się z tym nic zrobić. Miejmy nadzieję, że to zwykły błąd i wszystko niedługo wróci do normy. Może to być również celowe i w takim przypadku prawdopodobnie zabawa się skończyła na jakiś czas.

W przyrodzie jednak nic nie ginie i jak znika jedna funkcjonalność to w to miejsce pojawia się kolejna.
Teraz możecie sobie wszystko oglądać w formie sortowanej tabelki (aktualnie bez otodom).

Miłej zabawy!

https://olxdata.azurewebsites.net/zestawienie

#nieruchomosci
pastibox - Niestety z przykrością muszę stwierdzić, że otodom postanowił trochę namie...

źródło: olxdata_tabelka

Pobierz
  • 44
Miejmy nadzieję, że to zwykły błąd i wszystko niedługo wróci do normy. Może to być również celowe i w takim przypadku prawdopodobnie zabawa się skończyła na jakiś czas.


@pastibox: jest celowe. Duza szansa ze wiedza o Twojej stronie. A ze wystartowali ostatnio z narzedziem Otodom Analytics, dodatkowo (sporo) platnym dla agencji, to pewnie beda tak zmieniac i ograniczac API aby nie wyplywaly na zewnatrz zadne dane statystyczne
@whoru: To pobiera z jednego miejsca. Ale może zamiast takiego najprymitywniejszego scrapingu puszczać najpierw skrypt na pythonie i selenium - i liczyć ręcznie.
@pastibox: Wygląda na błąd bo nawet stronicowanie działa do maksymalnie 50 strony (36*50 = 1800). Byłoby to dość dziwne bo ogłoszenia dalszych stron byłyby dostępne tylko i wyłącznie po zastosowaniu filtrów.

Jako workaround możnaby zamiast jednego zapytania zrobić zapytania po przedziały metrów - od 0 do 9, od 10 do 19, od 20 do 29 it'd, a potem zsumować.
  • 0
@mickpl

@pastibox: O, tu liczy dobrze. Scrapuj z tego miejsca.


No niestety z tego nie mogę. Bo liczbe na tym buttonie podmienia java script (przeglądarka). Ja pobieram dane z response html I dobrej pory nie potrzebowałem aby strona była obrobiona przez js. Jeszcze się nie zastanawiałem jak to teraz by można scrappowac ale to będzie już wyższa szkoła jazdy.
@pastibox: Doinstaluj do pythona selenium, nagraj sekwencję i sobie wyrzucaj do txt.

Na serwerze weź takie nagłówki i doinstaluj co trzeba to będzie się zachowywał jak chrome:

import datetime
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument('--no-sandbox')

driver = webdriver.Chrome('/usr/bin/chromedriver', options=chrome_options)

Do selenium masz wtyczkę do
  • 0
@mickpl jak będę miał trochę czasu to pomyślę nad tym. Teraz mam to napisane w .net core i używam biblioteki Html Agility Pack. Zobaczymy co da się zrobić