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:
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”.
Poprzedni news: Wojenki, wojenki… to i ja zacznę
Następny news: Gazeta.pl: Żyli z oszustw na Allegro

RSS |
RSS komentarzy | Kontakt | O stronie | Polityka prywatności
Copyright © Jacek Z. Strzembkowski - wszelkie prawa zastrzeżone
# ::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.