FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej!
Jag håller på med en liten egen sökmotor och känner att jag skulle behöva tips om vilket det bästa sättet för att indexera sidor på. Då pratar jag om utomstående sidor som jag själv inte kan sätta olika taggar på osv. Vilka tips kan ni ge mig och har ni några bra källor som beskriver detta på ett bra sätt? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Bara ett inlägg till!
|
ska den vara aktiv eller passiv?
|
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Administratör
|
Jag tror att du både får precisera frågan samt berätta om dina kunskaper för att det ska vara lönt att försöka svara.
Är det spindling av sidor du vill ha hjälp med? Eller snarare hur du bäst indexerar datan för att göra den sökbar? Eller rent av hur du ska ställa frågor mot din data? Rör det sig om ett litet eller stort antal sidor och hur stor beräknas din sökvolym bli? Behöver du hjälp med parsea sidorna? Eller kanske hur du ska vikta olika hämtade delar av sidorna? Vad är det som gör att du inte bygger vidare eller använder några av de färdiga lösningar som finns? |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Supermoderator
|
Mjo, hur du ska gå till väga beror mycket på syftet med det hela så du bör beskriver med i detalj vad det handlar om innan man kan ge några bra svar. Är det något du ska försöka sälja eller handlar det om en sökmotor till en specifik sajt t.ex.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Det handlar om hur jag ska göra för att hämta information från andra sidor och spara dem i en databas. Låt säga att jag vill indexera allt inom övrigt på dustinhome http://www.dustinhome.se/DynamicPage...952&pageID=104. Hur ska man då gå till väga för att spara ned informationen i en databas? Och är det bästa sättet att spara det i en databas? själva sökmotorn är just designad för att söka i en databas men det går ju att ändra om det skulle vara en dålig idé. Det som jag alltså vill spara ned är produktnamn, information och pris som ett exempel.
|
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Bara ett inlägg till!
|
Om du tittar i min signatur så har vi gjort en (passiv) sökmotor, är det typ så du menar att du vill göra? Vi sparar inget utan spindlar i realtid.
|
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Flitig postare
|
Du verkar vilja indexera sidorna. Ett enkelt index kan du skapa såhär:
1. Ta alla ord (sökterm) som finns på dokumentet (sidan) du vill indexera. 2. För varje unikt ord i dokumentet, lägg till en rad i en tabell som innehåller alla indexerade ord om inte det ordet redan finns. 3. För varje unikt ord i dokumentet, lägg till en en rad i en join-tabell som länkar samman det unika ordet med dokumentet det hittades i. 4. Lägg till en rad i tabellen som innehåller alla dokument. För att slå upp dokument ur indexet: 1. För varje ord som ingår i sökningen, slå upp alla rader i join-tabellen som pekar till det ordet. Du har nu lika många listor med dokument som matchar som du har ord som ingår i sökningen. 2. Slå ihop resultaten genom att från listorna ta alla dokument som finns i alla listor. 3. Kvar har du de dokument som matchar användarens sökning. Voila! Det är allt som behövs för en enkel sökmotor. Sedan finns det naturligtvis miljoner påbyggnadsfunktioner.. |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Administratör
|
Citat:
|
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Medlem
|
Jag är ingen expert på det här, men jag hade nog skrivit ett skript med t. ex. BOSS API-t för Yahoos sökmotor som utnyttjar funktionen site:dustinhome.se, varefter jag sorterar ut alla adresser som har pd_ i sig, eftersom detta är produkterna. Sedan skulle jag undersöka html-strukturen innan jag går vidare. t. ex. märker jag att produktens namn alltid är innesluten av <h1>-taggar, priset innesluts av en tagg med klassnamnet productDetailsPrice, etc.
Dessa kan man plocka ut med regular expressions som sagt. Det går att hitta mycket om det på Internet... man kan klippa och klistra ihop det mest, sedan när man har informationen är det bara att spara till databasen naturligtvis ![]() |
||
![]() |
![]() |
![]() |
#10 | |||
|
||||
Flitig postare
|
Det finns en hel del bra verktyg för att automatiskt bryta ner sidan till beståndsdelar. Några av dem är följande:
Scrapy - http://dev.scrapy.org/ mechanize - http://wwwsearch.sourceforge.net/mechanize/ Beautiful Soup - http://www.crummy.com/software/BeautifulSoup/ Till Python. |
|||
![]() |
![]() |
Svara |
|
|