私は Web ページのスクラップを学んでいます。以前はシンプルな HTML DOM パーサーを使用していましたが、遅すぎました。だから私はcURLを選びました。私はいくつかのブログを通して学んでいます。ここで、2 つのタグの間に href を表示したいと考えています。
<?php
class tagSpider
{
var $crl;
var $html;
var $binary;
var $url;
function tagSpider()
{
$this->html = "";
$this->binary = 0;
$this->url = "";
}
function fetchPage($url)
{
$this->url = $url;
if (isset($this->url)) {
$this->ch = curl_init ();
curl_setopt ($this->ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($this->ch, CURLOPT_URL, $this->url);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->ch, CURLOPT_BINARYTRANSFER, $this->binary);
$this->html = curl_exec($this->ch);
curl_close ($this->ch);
}
}
function parse_array($beg_tag, $close_tag)
{
preg_match_all("($beg_tag.*$close_tag)siU", $this->html, $matching_data);
return $matching_data[0];
}
}
?>
<?php
$urlrun="http://m4.cricbuzz.com/";
$stag='<span>';
$etag="</span>";
$tspider = new tagSpider();
$tspider->fetchPage($urlrun);
$linkarray = $tspider->parse_array($stag, $etag);
foreach ($linkarray as $result) {
echo strip_tags($result, '<br><div>');
echo "<br>-<br>";
}
?>
同じプログラムを使用して href を表示する方法