Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2013, 15:44
kamita
 
Fecha de Ingreso: agosto-2008
Mensajes: 89
Antigüedad: 15 años, 8 meses
Puntos: 1
Desacuerdo PHP para novatos: Simple HTML DOM Parser

Hola a todos.
Hoy he decidido aventurarme a PHP. He estado leyendo y tal y ya voy consiguiendo sacar mis cosillas....Ahora me he planteado con ¿cómo parsear un html?

He indagado, y he encontrado el HTML DOM Parser. El tema es que con esta librería es muy fácil encontrar datos si todos tienen un id o class distintos...que pasa si tengo todo el rato lo mismo¿?

Por ejemplo, quiero parsear una web entera de resultados de precios de gasolina. Para el ejemplo usaré mejor un pueblo pequeño que solo de un resultado....

Query Ministerio de industria

Código:
<div id="divDataResultsTable">
		<table cellpadding="3" cellspacing="0" class="tableData">
			<tbody><tr class="trHeader">
				
					<th class="thMedium" onclick="orderBy('c')">Province</th>
				
				
					<th class="thMedium" onclick="orderBy('e')">Town/City</th>
				
				
					<th class="thXLong" onclick="orderBy('g')">Address</th>
				




				
					<th class="thXShort" onclick="orderBy('i')">Margin</th>
				









				
					<th class="thShort" onclick="orderBy('k')">Date</th>
				

				
					<th class="thXShort" onclick="orderBy('m')">Price</th>
				

				
					<th class="thMedium" onclick="orderBy('o')">Label</th>
				

				
					<th class="thXShort" onclick="orderBy('r')">Sale</th>
				


				
					<th class="thXShort" onclick="orderBy('t')">Ref</th>
				


				
					<th class="thMedium" onclick="orderBy('v')">Hours</th>
				

				<th class="thFin">Map</th>
			</tr>
			
							<tr class="trWhite">
								<td class="tdMediumBorderLeftTable">TOLEDO</td>
								<td class="tdMedium">MENTRIDA                 </td>
								<td class="tdXLong">CARRETERA CM-610 KM. 6,700</td>

  								 <td class="tdXShort"> I</td>

								<td class="tdShort">04/06/2013</td>
								<td class="tdXShort">1,442</td>
								<td class="tdMedium">CAMPSA</td>
								<td class="tdXShort">P</td>
								<td class="tdXShort">dm</td>
								<td class="tdMedium">L: 07:00-22:30</td>
						
							<td class="tdFin">
						
								<img title="Centre station on map" style="cursor: pointer;" src="../img/button_recenter_tb.png" alt="+" onclick="centrar(-4.189056,40.242528,12)">
						
							</td>
						</tr>
						
			<tr>
				<td colspan="10" class="tdPaginator">
					
							<div class="paginatorSquare">&lt;&lt; first</div>
							<div class="paginatorSquare">&nbsp;&nbsp;&nbsp;&lt; previous&nbsp;&nbsp;</div>
					
								<div class="paginatorSquareN">1</div>
					
							<div class="paginatorSquare">&nbsp;&nbsp;&nbsp;next &gt;</div>
							<div class="paginatorSquare">&nbsp;&nbsp;&nbsp;last &gt;&gt;</div>
					
					<input type="hidden" id="inputPosicion" value="0">
					<input type="hidden" id="inputLongitudTotal" value="1">
				</td>
			</tr>
		</tbody></table>
	</div>
Me podeís ayudar por favor, a sacar el precio de ahí? El tema es que tengo varias etiquetas con clase tdXShort, y no se como descartar datos hasta donde quiero.

Lo siento por ser novato. Prometo he intentado buscar.

Si me ayudais a sacar este ejemplito, cuando lo saque posteo como sacar para versiones de más de una respuesta del query!!!! :)

Gracias!