从网站抓取html与url


Scraping html with urls from website

我正在从一个使用php简单html dom的网站上抓取一些html,其中包括几个图像。
然而,图像没有正确指向网站。例如,下面是其中一个图片的例子,你可以看到它没有指向网站。
是否可以动态更改url以指向网站,例如

http://www.url.com/bilder/flags_long/United States.gif

html例子
<img src="/bilder/flags_long/United States.gif" align="absmiddle" title="United States" alt="United States" border="0">

示例代码:

include('simple_html_dom.php');
$sum_gosu = file_get_html("http://www.gosugamers.net/counterstrike/news/30995-starladder-is-back-with-the-thirteenth-edition-of-starseries");
$gosu_full = $sum_gosu->find("//div[@class='content light']/div[@class='text clearfix']/div", 0);

如何将获取文档的实际URL与相对图像路径连接起来呢?只是给一个想法(这没有经过测试,你一定要做一些检查图像src属性是相对的还是绝对的,在某些情况下):

<?php
    $url = 'http://www.url.com/';
    $html = file_get_html($url);
    $images = array();
    foreach($html->find('img') as $img) {
        // Option 1: Fill your images array (in case you only need the images)
        $images[] = rtrim($url, '/') . '/' . ltrim($img->src, '/');
        // Option 2: Update $img->src inside your $html document
        $img->src = rtrim($url, '/') . '/' . ltrim($img->src, '/');
    }
?>

UPDATE根据您的示例代码,我的示例可能如下所示:

<?php
    include('simple_html_dom.php');
    $sum_gosu_url = "http://www.gosugamers.net/counterstrike/news/30995-starladder-is-back-with-the-thirteenth-edition-of-starseries";
    $sum_gosu = file_get_html($sum_gosu_url);
    $gosu_full = $sum_gosu->find("//div[@class='content light']/div[@class='text clearfix']/div", 0);
    foreach($gosu_full->find('img') as $img) {
        $img->src = $sum_gosu_url . $img->src;
    }
?>

之后,$gosu_full文档中的img src属性应该是固定的和可解析的(可由客户端下载)。希望这能有所帮助,我实际上理解你的问题:)

$url="http://www.url.com";
$Chtml = file_get_html($url);
$imgurl=Chtml->find("img",0)->src;
echo $url.$imgurl;