Extrahera data från extern webbsida?

Permalänk
Medlem

Extrahera data från extern webbsida?

Tjena!

Det jag behöver hjälp med är att ta ut sökresultat från en annan sida (säg t.ex. ticnet.se).
Det jag vill göra är att t.ex. ta alla sökresultat med sökordet "In Flames" från ticnet och få över information om datum, arena, tid osv över till min egna sida.
T.ex. Prisjakt, pricerunner och liknanade sidor gör ju samma sak fast det är med olika produkter (extraherar pris, lagerstatus osv).
Hur gör man detta på enklaste sätt?

Helst så skulle jag vilja ta ut informationen och lägga in det i databas, men första steget är ju att lyckas få ut rätt info från sidan.

Jag har försökt göra såhär:

<?php $myurl = 'http://www.ticnet.se/search.php?tm_link=tm_header_search&lang...'; $curl_handle = curl_init(); curl_setopt ($curl_handle, CURLOPT_URL, $myurl); curl_setopt ($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($curl_handle, CURLOPT_CONNECTTIMEOUT, 1); $buffer = curl_exec($curl_handle); curl_close($curl_handle); echo $buffer; ?>

När jag kör detta så får jag bara fram själva layouten på sidan. Eftersom själva sökningen körs i något script på ticnet så får jag inte med denna.

Någon som vet hur man enklast löser detta?
Jag är medveten om att Ticnet inte gillar att man tar deras innehåll, men detta ska inte användas kommersiellt.

Visa signatur

Nintendomulator: Projektlogg
Main: Intel Core i5 2500k | Radeon 6950 2GB | Corsair Vengence 8GB | Intel SSD 120GB |
Server: MSI k8 Neo4 s939 | AMD 1800+ @ 2,5 GHz | Corsair 2 GB |
HTPC: Jetway NC81-LF (Mini-ITX) | 1TB 7200rpm | PC5300 2GB | AMD X2 4850e 2,5 GHz | 110w PicoPSU | Projektfilm

Permalänk
Medlem

Installera firebug eller liknande så kan du kolla vilka scripts som kallas och vad de returnerar.

Permalänk
Testpilot

Prisjakt söker inte genom hela sidor utan har tillgång till enkla prisfiler från butikerna där det enbart står det som behövs: http://www.prisjakt.nu/info.php?t=for_stores_price

För just ditt problem så är som sagt Firebug ett smart sätt att se vad som händer vid en sökning, kollar man det ser man att det görs fem sökningar till en annan fil som heter queryHandler.php och dessa returnerar smidigt nog datan i JSON-format som du kan läsa ut med json_decode

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem
Skrivet av iXam:

Installera firebug eller liknande så kan du kolla vilka scripts som kallas och vad de returnerar.

Skrivet av hunden:

Prisjakt söker inte genom hela sidor utan har tillgång till enkla prisfiler från butikerna där det enbart står det som behövs: http://www.prisjakt.nu/info.php?t=for_stores_price

För just ditt problem så är som sagt Firebug ett smart sätt att se vad som händer vid en sökning, kollar man det ser man att det görs fem sökningar till en annan fil som heter queryHandler.php och dessa returnerar smidigt nog datan i JSON-format som du kan läsa ut med json_decode

Tack så mycket för era svar!

Jag ser ju hur resultaten jag vill ha hittas i Firebug som ni sa.
Har läst lite om json_decode, men någon som kan hjälpa mig lite i rätt riktning hur jag lyckas fånga upp det som queryhandler returnerar?
Har googlat en del men hittar inte riktigt det jag söker efter...

Tack på förhand!

Visa signatur

Nintendomulator: Projektlogg
Main: Intel Core i5 2500k | Radeon 6950 2GB | Corsair Vengence 8GB | Intel SSD 120GB |
Server: MSI k8 Neo4 s939 | AMD 1800+ @ 2,5 GHz | Corsair 2 GB |
HTPC: Jetway NC81-LF (Mini-ITX) | 1TB 7200rpm | PC5300 2GB | AMD X2 4850e 2,5 GHz | 110w PicoPSU | Projektfilm

Permalänk
Testpilot

$buffer innehåller väl all data från din sökning? släng in den i json_decode och kolla sen med var_dump vad du har fått för data, det enklaste är nog att sätta assoc till true när du använder json_decode så får du ut en array istället för ett objekt.

$data = json_decode($buffer, true); var_dump($data);

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem

Annars finns ju mobilsidan, ser ut att innehålla samma info: http://m.ticnet.se/ticket/search.do?articles=tmse&query=in+fl...

I värsta fall får du väll göra en loop som går igenom länken till eventen och hämtar den detaljerade informationen.

Visa signatur

Citera eller nämn gärna mig (@ToJa92) om du svarar på något jag skrivit.
Uppskattar du eller blir hjälpt av ett inlägg jag skrivit är jag tacksam om du gillar det.