Jump to content
php.lv forumi

Automatiskais datu ievacejs :)


GS_

Recommended Posts

Gribu uztaisit skriptu kas automatiski ievaktu datus no majas lapas sources. Tobish izvilktu no konkretam rindinam konkretas vietas piemeram rinda ieks html sources (konstants)Blabla bla = (mainigs) 45 ka varetu labak izdabut to mainigo 45 ?

Kadas komandas labak pielietot prieks

1)Sources nolasisanas no majas lapas

2)Rindas atrasanas, un vajadzigas vietas nolasisanas.

 

Varbut ir kads piemers ?

Link to comment
Share on other sites

Ideja jau veca kaa maaja. Iesaku ievilkt lapu, tad apstraadaat ar HTML Tidy, tad paarkonverteet uz XML, un tad no XMLa vilkt laukaa visu, ko vajadziigs. Straadaas briiniskiigi, liidz kaads izdomaas lapu mazliet pamainiit. Tad nu saakas taadi briinumi kaa XML sadaliishana pa atseviskiem gabaliem (kokiem), un sho dalju hash saliidzinaashana, visaadi algoritmi, kaa atrast nemainiitaas daljas (XML-diff), utt. Noveelu veiksmi!

 

http://www9.org/w9cdrom/312/312.html

Link to comment
Share on other sites

black variants tāds pasarežģīts iesācējam.

 

Ja skaidri zini, ka source nemainīsies (vai arī esi gatavs, ka mainīsies, vai arī tev vienalga), tad vari izmantot kautko šitam līdzīgu:

 

$sp = '/<div>(.*?)<\/div>/ism';
$data = file_get_contents('http://example.com');
preg_match( $sp, $data, $m );

echo m[1]; // Sheit ta arī būs saturs

 

(.*?) atbilst saturam

 

Piem, ja zini, ka tev tas mainīgais atrodas iekš <div id="bla"> un saucas xxx, tad raksti šādi kautkā:

$sp = '/<div id="bla">xxx=([0-9]*?)<\/div>/ism';

 

Neesmu 100% pārliecināts vai tieši šis regexps strādā, bet doma aptuveni tāda.

Link to comment
Share on other sites

  • 5 months later...

Lūdzams nesūtīt trīs mājas tālak, bet neibraucu šajā daļā:

 

Piem, ja zini, ka tev tas mainīgais atrodas iekš <div id="bla"> un saucas xxx, tad raksti šādi kautkā:

CODE

$sp = '/<div id="bla">xxx=([0-9]*?)<\/div>/ism';

Link to comment
Share on other sites

<?

$sp = '/<div>(.*?)<\/div>/ism';

$data = file_get_contents('http://webs.lv');

preg_match( $sp, $data, $m );

 

echo m[1]; // Sheit ta arī būs saturs

?>

 

šāds tas kods arī ir?

nesapratu to, kad id pret ko man japielīdzina!

Edited by mach1ne^
Link to comment
Share on other sites

1) Lūdzu, izmanto code bbtagu.

2) Tas id tev nav vajadzīgs.

3) Izmanto to pašu kodu, ko tikko nocitēji. Tur kur $sp mainīgais, pielāgo attiecīgi html kodam, ko gribi izgriezt. Būtība ir tāda, ka vispirms noidinficē pēc kādiem tagiem tu varēsi atpazīt tev vajadzīgo kontentu. Šajā piemērā tiek pieņemts, ka kontents sākas ar <div> un beidzas ar </div>. Šis ir ļoti triviāls piemērs. Tev visticamāk vajadzēs vairāk html tur likt iekšā.

Link to comment
Share on other sites

×
×
  • Create New...