Jak wykryć "typ" strony internetowej?

Hej,

mam dość nietypowy i nie do końca związany z RoR temat do ogarnięcia. Mająć URL strony, chcę wiedzieć czy jest ona blogiem, sklepem internetowym bądź inną stroną internetową.

Pomysły? Budowanie własnego klasyfikatora bayesowskiego i uczenie go raczej odpada :wink:
H.

Zdefiniuj różnicę pomiędzy “blogiem” a “inną stroną internetową”

Odczytać z nagłówka słowa kluczowe i jest jakaś szansa, że będą tam jakieś wskazówki (słowa typu “sklep, shop, blog”). Po nazwie domeny też czasem można wywnioskować (blogger, tumblr, shop-*, *shop, itp.). Może być czasem mylące bo np. photoshop-tips.pl zaklasyfikujesz jako sklep :stuck_out_tongue:
Można wrzucić url do jakiejś wyszukiwarki branżowej albo katalogu stron i wyciągnąć kategorie.

Siła zastosowanych narzędzi będzie zależała od powagi projektu. Przy odpowiedniej motywacji można stworzyć drugiego googla :wink:

Możesz stworzyć listę warunków, każdy skojarzony z konkretnym typem strony. Każdy warunek to klasa albo jakiś block, który dostaje na wejściu kod strony itp. i zwraca tylko czy jest spełniony. W sklepach raczej zawsze są na wierzchu ceny, więc trzeba szukać w kodzie liczb i walut. Na blogu możesz szukać słowa post.

Z czasem możesz rozbudować listę warunków. Przy sprawdzaniu strony po prostu zapuszczasz w pętli sprawdzanie wszystkich i liczysz, dla którego typu jest najwięcej spełnionych.

Ja bym zaczął od najprostszego: meta keywords.

1 Like

Możesz zerknąć na:
http://www.alchemyapi.com/api/categ/urls.html + http://www.alchemyapi.com/api/categ/categs.html
https://developer.similarweb.com/website_categorization

Kolejny powód żeby kochać Alchemy API, ich silnik do analizy słów kluczowych i tematów tekstu jest absolutnie rewelacyjny. Niestety jest to płatna usługa, sądzę że trochę overkill (także finansowy) do zorientowania się w rodzaju serwisu.

ooo, @radarek dobre linki, prawie o to mi chodziło. Może być bardzo przydatne.

@Tomash i reszta: w tym momencie to własnie działa na ekstrakcji słów kluczowych z meta tagów, title czy nawet treści strony , wykrywamy też elementy specyficzne dla sklepów internetowych (jak link do koszyka bądź tagi charakterystyczne dla kilku platform e-commerce czy wordpressa). Działa to jednak z dość słabą skutecznością, szczególnie jeśli chodzi o nie-anglojęzyczne systemy, czy systemy budowane specjalnie dla danego serwisu.

Do analizy oprócz meta keywords dodałbym og:type(https://developers.facebook.com/docs/reference/opengraph/object-type/), jeżeli jest w sekcji meta.

Można by użyć sieć neuronową do tego: