webForumDet fria alternativet

Hur hämtar jag information och länkar från flertalet sidor och presenterar på min?

Webbutveckling

2 svar · 1 400 visningar · startad av xtreme

Medlem sedan juli 20002 056 inlägg
Frågan#1

Skulle vilja hämta en viss information och vissa länkar från ett visst antal sidor och presentera på min sida. När sidorna som jag hämtar information ifrån lägger till eller tar bort länkar uppdateras det också på min sida. Ett ex är http://www.allaannonser.se/annonser/ som visar annonser från blocket, eniro med flera.

Tydligen heter detta att man "scrape", "parse", "phider" en sida, men vet egentligen inte skillnaden om det finns någon. Vet någon får ni gärna förklara. Enligt sökningar har jag hittat information hur man hämtar information från en sida och presenterar det med xpath på sin egen. Dock ingen aning om hur man gör om det ex gäller 20 olika sidor. I vissa guider använder sig folk av en egen databas där jag förmodar informationen sparas fast så fall måste den uppdateras automatisk på något sätt när de andra sidorna ändrar information.

Någon som vet hur man på enklaste och bästa sättet, gärna genom färdiga lösningar hämtar specifik information från ett flertal sidor och presenterar på sin egen?

Medlem sedan dec. 2009872 inlägg
#2

Om vi bortser från det upphovsrättsliga här och utgår från att de som producerar materialet tycker det är helt okej att det visas på din sida, så är det en teknisk sak att lösa.

Du måste använda någon form av ... requestlösning. Där du "tankar" ner de andra sidorna.
Någon kanske vet hur du sparar blocket i en egen databas, men det låter rätt jobbigt och oöverskådligt om du frågar mig. Men det kanske snarare är bevis på min egen okunskap i ämnet...!! :-)

Men om informationen redan finns på annat ställe, varför ska du då ha den hos dig också!?

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.minhemsida.se/admin/activelog.asp", False
objHTTP.Send
DIM strHTML
strHTML = objHTTP.responseBody
Set objHTTP = Nothing
strHTML = Unicode(strHTML)

Vet inte om du blir nåt klok med detta exempel.... (Klassisk sunk-asp som är så föraktad i alla möjliga sammanhang...)

Medlem sedan jan. 201133 inlägg
#3

Beror lite på vilket språk du kodare i
själv kör ja C# och då brukar jag använda webclient objectet
sen måste du åkså kolla dom sidor du vill "låna" data i från
och hitta mönster där som du kan använda när du ska parsa datan

typ ska du skrapa den här sida och vill hitta alla medlemmar som har postat på denna tråd
så kan du se i källkoden att det finns en länk för varje medlem

<a class="bigusername" href="member.php?u=17738">civilpolisen</a>

då kan du med regex eller substring plocka ut nament
genom att parsa ut data som börjar på "bigusername" och slutar på </a>
då skulle du får ut

bigusername" href="member.php?u=17738">civilpolisen</a>

där efter så kan du ju ta bort

</a>[code] 
och köra en substring som hämtar all text efter [code]>

det som är kvar är användarnamnet

ganska enkelt
finns massa exempel typ
http://www.google.se/#hl=sv&biw=1024&bih=930&q=asp.net+screenscrape&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=c44fd87f1938a3b2
http://www.google.se/#hl=sv&biw=1024&bih=930&q=php+screenscrape&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=c44fd87f1938a3b2

du kan även göra det clientside med jquery om du tilllåter corssdomain i browsern
om du exempel ska bygga ett admin tool till din site och själv vill site och jaga data

hojta om du vill hjälp

Lycka till !

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)