Vraag : Schavende gegevens van HTML dat van een andere website PHP gebruikt

Hallo daar,

I am dient sommige gegevens van HTML proberen te schaven op de website van een lokaal station in. Zij hebben een onlangs gespeelde liederenlijst en ik zou wat analytics op die data.

The- pagina willen doen ik probeer om terug te winnen de gegevens van beschikbaar ben hier:

http://www.channel103.com /music/index.php? qty=100

Fortunately de lijst automatisch en de hoeveelheid liederen wordt geproduceerd het vertoningen op de waarde uit URL wordt genomen gebaseerd die is zodat heb ik een potentieel onbegrensde dataset om te werken met (hoewel ik 100 liederen als voorbeeld heb gespecificeerd).

I zou uiteindelijk omhoog met de gegevens van die lijst in een serie of een mysqlgegevensbestand (ik wil de Gespeelde Tijd, Lied en de informatie van de Kunstenaar voor elke ingang.) willen beëindigen Nochtans ben ik onzeker over hoe over het krijgen te gaan dat informatie (ik ben nieuw aan PHP Programmering, maar ik begrijp de meeste kern programmeringsconcepten op zijn minst op een basisniveau).

I heeft rond met etc. het gebruiken van regelmatige uitdrukkingen gespeeld en erin geslaagd om een manuscript te schrijven dat van het momenteel speellied en de kunstenaar een lijst maakt, nochtans ben ik aan een stilstand nu gekomen en niet training waar te kunnen daarna gaan. Ik heb een blik rond op netto en hier op EE gehad en XPATH schijnt een gemeenschappelijke route voor gelijkaardige problemen te zijn maar ik worstel om aan grepen met it.

Here te krijgen ben de PHP Code die ik (massaal verward door de output ik!) tot dusver heb geschreven krijg:

" codeBody " #“, $content, $data); # De eerste entiteit van de druk van de serie (voor het testen). echo $data [1]; echo „


“; # Druk de volledige serie. (Voor het testen). print_r ($data); ? >
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:



	
	Tom 103 Analysis
	




now spelend –  (. *)  (. *) #“, $content, $data);
# Wijs de inhoud van de „gegevens“ serie aan twee variabelen, lied en kunstenaar toe.
$song = $data [1];
$artist = $data [2];
# Druk de inhoud van die variabelen.
echo „Song:  $song - Artist:  $artist \ n“;
echo „

“; /* DEEL 2: Krijg een lijst van alle onlangs gespeelde liederen. */ # Zet de inhoud van de bron van de bestemmingswebsite in een „inhouds“ variabele. $content = file_get_contents ('http://www.channel103.com/music/index.php?qty=20333'); # Gebruikend Regelmatige Uitdrukkingen, tast het dossier af en everytime komt een gelijke, gezette gegevens in de „gegevens“ serie voor. preg_match („#
(. *)

Antwoord : Schavende gegevens van HTML dat van een andere website PHP gebruikt

Tom,
Ik ben geen deskundige op regex, maar u zou moeten gebruiken preg_match_all die een serie eerder dan een koord terugkeert. De code zal in bijlage de kunstenaar en liedtitel uitprinten. Ik ben zeker als u regex manipuleert u slechts de gegevens zult halen u wilt, aangezien het de serie is [0] van de het lied [1] tijd van de tijdkunstenaar 2] de kunstenaars [3] lied [is.

U kon dit regex zelfs verminderen en substr op de eerste serie gebruiken om info te halen u wilt.

(ik verminderde het aantal gehaalde punten tot 10 zodat zou ik geen gekke hoeveelheid informatie krijgen)
\r\n\r\n
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
\r\n
(.*)(.*)(.*)#'; preg_match_all ($pattern, $content, $data); //var_dump($data); for ($i = 0; $i < 11; $i++) { echo "

". $data[2][$i].' '.$data[3][$i]; } ?>
Andere oplossingen  
 
programming4us programming4us