Question : Données de éraflure du HTML d'un autre site Web using le PHP

Salut là,

I AM essayant d'érafler quelques données d'une table de HTML sur le site Web d'une station de radio locale. Elles ont des chansons récemment jouées liste et je voudrais faire un certain analytics sur cela page de data.

The que j'essaye de rechercher les données de est disponible ici : href= " http://www.channel103.com/music/index.php?qty=100 " de " _blank " de target= du

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

Fortunately la table est produit automatiquement et la quantité de chansons qu'elle montre est basée sur la valeur prise de l'URL ainsi j'ai un ensemble de données potentiellement sans limites à travailler avec (bien que j'ai spécifié 100 chansons comme exemple). le

I voudrait par la suite finir vers le haut avec les données de cela la table dans une rangée ou une base de données de mysql (je veux le moment l'information joué, de chanson et d'artiste pour chaque entrée.) Toutefois je suis incertain quant à la façon aller obtenir environ cette information (j'est nouveau au PHP programmant, mais je comprends la plupart des concepts de programmation de noyau au moins à un niveau de base). le

I ont joué autour avec employer des expressions régulières et ainsi de suite et sont parvenus à écrire un manuscrit qui énumère la chanson et l'artiste actuellement de jeu, toutefois je suis venu à un arrêt maintenant et ne peux pas séance d'entraînement où aller après. J'ai allé voir autour sur le filet et ici sur l'EE et le XPATH semble être un itinéraire commun pour les problèmes semblables mais je lutte pour obtenir aux poignées avec it.

Here est le code de PHP que j'ai écrit jusqu'ici (massivement confus par le rendement j'obtiens !) :

class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
>< " de l'id= " codeSnippet964686 de
xmlns= " http://www.w3.org/1999/xhtml " de 


	Contenu-Type " texte de content= "/HTML de http-equiv= " de 
	103 Analysis des Tom
	type= " texte/CSS "/> de " stylesheet " de rel= du href= " style.css " de <link
</head>

<body>

< ? PHP 

Auteur de/* : 	Tom Hacquoil
	Date : 		25 août 2010 *


PARTIE de/* : Obtenir actuellement jouant la chanson et l'artiste. *

	# mettre le contenu de la source de site Web de destination dans une variable « contente ».
	$content = file_get_contents ('http://www.channel103.com/music/index.php?qty=50') ;
	
	# Using des expressions régulières, balayer le dossier et chaque fois qu'une allumette se produit, mettre les données dans la rangée de « données ».
	preg_match (« #<div><span>now jouant le &ndash ; href= " http://www.channel103.com/music/index.php " de </span><a > (. *) </a><span> (. *) </span></div># », $content, $data) ;
	
	# assigner le contenu de la rangée de « données » à deux variables, chansons et artistes.
	$song = $data [1] ;
	$artist = $data [2] ;
	
	# copie le contenu de ces variables.
	<strong>Song d'écho « : </strong> $song - <strong>Artist : </strong> $artist \ n » ;
	
	écho « <br/><br/> » ;
	
	
PARTIE de/* : Obtenir une liste de toutes les chansons récemment jouées. *

	# mettre le contenu de la source de site Web de destination dans une variable « contente ».
	$content = file_get_contents ('http://www.channel103.com/music/index.php?qty=20333') ;
	
	# Using des expressions régulières, balayer le dossier et chaque fois qu'une allumette se produit, mettre les données dans la rangée de « données ».
	preg_match (><td> de class= " tabletextRow1 " « de #<tr (. *) </td># », $content, $data) ;
	
	# première entité d'impression de la rangée (pour l'essai).
	écho $data [1] ;
	
	écho « <br/><br/><br/> » ;
	
	# copie la rangée entière. (Pour l'essai).
	print_r ($data) ;
		

? >

</body>

</html>
</pre>
           </td>
         </tr>
       </table></div>
</div>
   
class= ></div> " clair " de <div
    
class= " qRelatedRow " de <div >
    solutions >Related <span de " nom " de class= : </span>
    class= <span " valeur " >
contrôle de title= le " de " /Web_Development/Web_Languages-Standards/PHP/Q_26431870.html de href= " de <a une rangée pour des reproductions et m'informent si une duplication se produit " " qRelatedChild " de class= >Check une rangée pour des reproductions et m'informent si une duplication occurs</a></span>
  </span></h4>
</td>
</tr>
  <tr><td height="2px"></td></tr> 
 
  <tr style="background-color:#f2f4f6"><td >
<h2 style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:14px;color:red;font-weight:bold">
<span id="ContentPlaceHolder1_tieude_as">Réponse : Données de éraflure du HTML d'un autre site Web using le PHP</span>
</h2></td></tr>
  <tr>
<td valign="top"> 
<h5><span id="ContentPlaceHolder1_ans" style="font-family:Tahoma,Geneva,sans-serif;font-size:12px;font-weight:normal;color:#000000">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
<div class="KonaBody"><div class="richText">
Tom,  <br />Je ne suis pas un expert en regex, mais vous devriez employer le preg_match_all qui renvoie une rangée plutôt qu'une corde. Le code joint imprimera le titre d'artiste et de chanson. Je suis sûr si vous manoeuvrez le regex que vous extrairez seulement les données vous voulez, car il est la rangée est [0] chansons de l'artiste de temps de chanson d'artiste de temps 1] [[2] [3].<br /><br />Vous pourriez même réduire ce regex et employer le substr sur la première rangée pour extraire l'information que vous voulez.<br /><br />(J'ai ramené le nombre d'articles extraits à 10 ainsi je n'obtiendrais pas une quantité de l'information bonkers)</div></div> <!-- text-ad & richText -->
                      <span class="isBotVideo"></span> <div class="codeSnippet">
                       <table>
         <tr>
           <td class="lineNumbers">
             <pre>
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
</pre>
           </td>
           <td class="codeBody">
             <pre id="codeSnippet969377" class="notpretty"><?php 


/* PART 2: Get a list of all recently played songs. */

	# Put the contents of the source of the destination website into a 'content' variable.
	$content = file_get_contents('http://www.channel103.com/music/index.php?qty=10');
	
	$pattern = '#<tr class="tabletextRow.">\r\n<td>(.*)</td>\r\n<td>(.*)</td>\r\n<td>(.*)#';
	
	preg_match_all ($pattern, $content, $data);
	
	//var_dump($data);
	
	for ($i = 0; $i < 11; $i++)
	{
	    echo "<br /><br />". $data[2][$i].' '.$data[3][$i];
	}
	
?>	</pre>
           </td>
         </tr>
       </table></div>
         <div class="openInNewWindow">
         <div class="bTypeA bGlowSmall bGlowSmallGray"><div class="glowLeft"></div><div class="glowMiddle" style="padding-left: 15px; padding-right: 15px;"><div class="t2i" style="background: url(http://t2i.experts-exchange.com/t/419106-50.png) no-repeat;width:109px;height:12px;"></div></div><div class="glowRight"></div></div></div>
         <div class="selectAll">
         <div class="bTypeA bGlowSmall bGlowSmallGray"><div class="glowLeft"></div><div class="glowMiddle" style="padding-left: 15px; padding-right: 15px;"><div class="t2i" style="background: url(http://t2i.experts-exchange.com/t/421794-50.png) no-repeat;width:53px;height:12px;"></div></div><div class="glowRight"></div></div></div>
       <div class="clear"></div>
</div>
</span></h5>
</td>
</tr>
<tr><td height="5px"></td></tr>

 <tr>
                            <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
                              <tr>
                                <td><table width="100%" height="25px" border="0" cellspacing="0" cellpadding="0">
                                  <tr>

                                    <td width="100px" bgcolor="#FFFFFF" style="padding-left:5px"><span class="f11blue">Autres solutions</span></td>
                                    <td background="http://programming.wmlcloud.com/images/bg-ch.gif"> </td>
                                  </tr>
                                </table></td>
                              </tr>
                              <tr>
                                <td style="padding:5px">
                                <div>
                                    <table id="ContentPlaceHolder1_DataList2" cellspacing="0" style="width:100%;border-collapse:collapse;">
		<tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/13056.aspx' class="a4">
<li> MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/software/38680.aspx' class="a4">
<li> Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/5260.aspx' class="a4">
<li> Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/30880.aspx' class="a4">
<li> Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/16544.aspx' class="a4">
<li> Emplacement primaire de deux SCCM dans l'annuaire actif</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/23080.aspx' class="a4">
<li> L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/8744.aspx' class="a4">
<li> Stocker le dossier dans le mysql using connector.net et le champ de goutte</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/15280.aspx' class="a4">
<li> Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/software/33104.aspx' class="a4">
<li> asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.</li></a>
</td>
</tr>
</table>
</td>
		</tr><tr>
			<td>
<table>
<tr>
<td valign="top" align="left">
<a href='http://faq.wmlcloud.com/fr/microsoft/18764.aspx' class="a4">
<li> Winzip 12 issues de secours du travail ?</li></a>
</td>
</tr>
</table>
</td>
		</tr>
	</table>

                               
                                </div></td>
                              </tr>
                            </table></td>
                          </tr>

</table>
                    
</div>
                  </td></tr>
                  </table>
                  </form>
                         </td>

                        </tr>
                    
                      <tr>
                        <td> </td>
                        </tr>
                      </table></td>
                    </tr>
                  </table></td>
              </tr>
              </table></td>

        

            </tr>
          </table>

 
         </td>
      </tr>

<tr>
            <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td background="http://tutorial.wmlcloud.com/images/bg-mn.jpg" height="30px" style="padding:5px;color:#ffffff;font-size:12px; font-family:Tahoma, Geneva, sans-serif;text-decoration: none;" ></td>
              </tr>
              <tr>
                <td><table width="100%" border="0" cellspacing="0" cellpadding="0">


 <tr>

                    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td><img src="http://tutorial.wmlcloud.com/images/bo-l.png" alt="programming4us" width="8" height="9" /></td>
                          <td bgcolor="#FFFFFF" width="100%"></td>
                          <td><img src="http://tutorial.wmlcloud.com/images/bo-r.png" alt="programming4us" width="8" height="9" /></td>
                        </tr>
                    </table></td>
                  </tr>
                </table></td>

              </tr>
            </table></td>
          </tr>
<tr><td height="2px"></td></tr>
<tr><td>
<div align="center">


</div>
</td>
</tr>
 <tr><td height="3px"></td></tr>

      <tr>
        <td height="2px"></td>
      </tr>
      <tr>
        <td align="left">
        <table cellpadding="0" cellspacing="0" width="100%" align="left">
        <tr>
        <td valign="top">
          <div id="en"><a href='http://faq.wmlcloud.com/software/106166.aspx'><img src='http://faq.wmlcloud.com/flags/en.gif'></a></div>
        </td>
          <td valign="top">
          <div id="de"><a href='http://faq.wmlcloud.com/de/software/106166.aspx'><img src='http://faq.wmlcloud.com/flags/de.gif'></a></div>
        </td>
          <td valign="top">
          <div id="es"><a href='http://faq.wmlcloud.com/es/software/106166.aspx'><img src='http://faq.wmlcloud.com/flags/es.gif'></a></div>
        </td>
          <td valign="top">
          <div id="fr"><a href='http://faq.wmlcloud.com/fr/software/106166.aspx'><img src='http://faq.wmlcloud.com/flags/fr.gif'></a></div>
        </td>
          <td valign="top">
          <div id="nl"><a href='http://faq.wmlcloud.com/nl/software/106166.aspx'><img src='http://faq.wmlcloud.com/flags/nl.gif'></a></div>
        </td>
          <td valign="top">
          <div id="it"><a href='http://faq.wmlcloud.com/it/software/106166.aspx'><img src='http://faq.wmlcloud.com/flags/it.gif'></a></div>
        </td>
          <td valign="top">
          <div id="ru"><a href='http://faq.wmlcloud.com/ru/software/106166.aspx'><img src='http://faq.wmlcloud.com/flags/ru.gif'></a></div>
        </td>
         <td valign="top">
          
        </td>
         <td valign="top">
          
        </td>
        
         <td valign="top">
          
        </td>
         <td valign="top">
          
        </td>
         <td valign="top">
          
        </td>
        </tr>
        </table>
        </td>
      </tr>
        <tr>
        <td height="2px"></td>
      </tr>

</td></tr>


 
</table>
		<script src="//cdn.intergient.com/ramp_core.js"></script>	

</body>
</html>