Aukcje.org

Aukcje internetowe w Polsce i na świecie

 

Wyszukiwarka aukcji - poprawki i „mutująca spacja”

Zupełnie inaczej planowałem wolny od pracy dzień - miałem zająć się rysowaniem logo dla swojego nowego projektu. Coś mnie podkusiło, żeby poprawić multiwyszukiwarkę w Aukcje.org… i tak, spędziłem nad tym zadaniem cały dzień, z przerwą na obiad i wyrzucenie śmieci.

Poprawiłem wyszukiwanie dla Świstaka - wraz z nową odsłoną zarzucono kodowanie stron w iso-8859-2 na rzecz utf-8 i przebudowano wygląd stron wyników. Bułka z masłem.

Poważny kłopot miałem z przeróbką wyszukiwania w eBay - głównie dzięki przedziwnym trickom na ebayowej stronie wyników wyszukiwania.

Chcecie zobaczyć?
Poniższe dedykuję użytkownikom Mozilli, w IE całość jest niewidoczna.
Wczytujemy stronę wyszukiwania przykładowej frazy „vhs” w polskich zasobach. Na stronie widoczny jest napis:

Liczba wyników znalezionych dla „vhs”: 1 441

Wygląda tak
OK. Mechanizm multiwyszukiwarki w Aukcje.org znajduje tę linię i szuka ciągu cyfr. Co trzeci znak to spacja… nie ma problemu. Wczytujemy kod strony (Ctrl+U)… Tak, to spacja. A może to nie jest spacja? Zaznaczamy myszą sam wynik „1 441″ i wybieramy z palety „pokaż źródło zaznaczenia”. Wygląda ono tak.

Spacja twarda? Spacja?

Bądź mądry i weź odfiltruj takiego kameleona!

Identyczna zagadka jest wprowadzana jako oddzielenie milionów i tysięcy w liczbach w innych miejscach eBay. Napisałem w tej sprawie do jednego z polskich programistów eBay - jeśli macie pomysł „co to za zwierzę” - dajcie znać. Udało mi się to jakoś odfiltrować, ale prawdę powiedziawszy nadal nie rozumiem skąd taka „mutująca spacja”.

 

  • # ::REGINA:: — 11/11/2008 @ 23:47:

    Lepiej napisz co to za nowy projekt.

  • # Pawelsky — 12/11/2008 @ 0:31:

    Ten zwierz to non-breaking-space w UTF-8, czyli 0xC2A0

  • # Jacek Z. Strzembkowski — 12/11/2008 @ 1:00:

    jak to ugryźć regexpem? Swoją drogą, głupieje na tym Mozilla… i IE.

  • # Pawelsky — 12/11/2008 @ 1:46:

    Nie wiem czego uzywasz, ale

    /(?:\uC2A0| |\s)/

    powinno pokryc wszytkie przypadki :)

  • # Jacek Z. Strzembkowski — 12/11/2008 @ 2:25:

    ok dzięki.
    moje skrypty wewnętrznie chodzą w ISO. konwersja 0xC2A0 z UTF na ISO daje coś w rodzaju Â&ndsp;

  • # marc — 12/11/2008 @ 4:05:

    A gdzie jest problem w wybraniu regexpem zawartości między tagami i drugim odfiltrowanie wszystkiego co nie jest cyfrą?

  • # Wilk — 12/11/2008 @ 10:04:

    „Poniższe dedykuję użytkownikom Mozilli” - no, nareszcie ktos zauwaza, ze przegladarki oparte na Gecko to nie tylko Firefox, ale tez m.in. Mozilla/SeaMonkey :)

  • # Jacek Z. Strzembkowski — 12/11/2008 @ 10:23:

    @marc
    Jeśli wstawię maskę dla nie-cyfr \D to muszę znać ilość tych znaków. Nie znałem jej (powiedzmy że teraz znam). Jeśli wynik będzie podany bez tej „spacji” (np. wynik poniżej 1000 znalezionych aukcji) to wtedy [\D]* załapie ciąg znaków po cyfrze…
    Próbowałem i tego… w akcie desperacji :))))

Napisz komentarz:

Opcja komentowania dla tego artykułu została wyłączona.

Zobacz:

Poprzedni news: Wojenki, wojenki… to i ja zacznę

Następny news: Gazeta.pl: Żyli z oszustw na Allegro

 

Partnerzy:
Sklepy

Aukcje.org
Aukcje.org - RSS RSS | Aukcje.org - RSS komentarzy RSS komentarzy | Kontakt | O stronie | Polityka prywatności

Copyright © Jacek Z. Strzembkowski - wszelkie prawa zastrzeżone