使用PHP

时间:2017-09-12 23:17:18

标签: php html dom domdocument domxpath

1& 1托管服务正在离开波兰,我的国家提供服务,所以他们告诉每个客户搬出去。由于无法导出网站,我需要手动解析并检索我想要的数据。

基本上它是要导出带有图像附件的所有文章。

我试图操纵此网站的HTML:http://www.naszeiganie.org/lata-2014-2015/让每个帖子都在单个div元素中,以正确解析整个文档并检索混合数据,这些文章包含

我认为每篇文章都以:

开头

<div class="n module-type-header diyfeLiveArea "> <h2> <span class="diyfeDecoration">

并且&#34;文章&#34;没有可重复的结尾。实际上,上面代码的下一个实例告诉我,当前帖子正在结束,而新的帖子开始了。

function smi_parse_web(){
$url = 'http://www.naszeiganie.org/lata-2014-2015/';
$content     = file_get_contents($url);
$doc         = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($content);
libxml_clear_errors();
$finder = new DomXPath($doc);
$node   = $finder->query('//div[contains(@class,"module-type-header")]/h2');
foreach($node as $anchor){
    if($anchor->nodeName == 'h2')
        {
            $element = $doc->createElement('div', 'x');
            $element->setAttribute('class','DIV-WRAP');
            $element->insertBefore($anchor);
        }
}
echo $doc->saveHTML();

我想出了类似的东西,但结果却没有。找到的$anchor清除了它的内容。

我的目标,找到一个div > h2组合之间的所有html内容,并将其打包在div.wrap

您建议您继续使用该项目?也许我出错了,而最简单的方法在我手上?

非常感谢!

(我知道如何处理图片,但我希望将它们附加到每个下载的文章中)

0 个答案:

没有答案