输出被多次提交

时间:2015-12-24 02:06:00

标签: php

目前我正在使用simple_html_dom抓取网站view here以查看我正在抓取的网站,所有内容都会恢复正常,但会继续为每个帖子提供相同的内容。{ {3}}

$page = (isset($_GET['p'])&&$_GET['p']!=0) ? (int) $_GET['p'] : '';  
$html = file_get_html('http://screenrant.com/movie-news/'.$page);

foreach($html->find('#site-top > div.site-wrapper > div.top-content > article > section > ul > li > div.info > h2 > a') as $element)
{
    print '<br><br>';
    echo $url = ''.$element->href;
    $html2 = file_get_html($url);

    $image = $html2->find('meta[property=og:image]',0);
    $news['image'] = $image->content;
    #print '<br><br>';

    // Ending The Featured Image

    #site-top > div.site-wrapper > div.top-content > article > section > ul > li:nth-child(2)

    $title = $html2->find('#site-top > div.site-wrapper > div.top-content > article > header.single-header > h1',0);
    $news['title'] = $title->plaintext;

    // Ending the titles
    print '<br>';
    #site-top > div.site-wrapper > div.top-content > article > div
    $articles = $html2->find('#site-top > div.site-wrapper > div.top-content > article > div > p');
    foreach ($articles as $article) {
    #echo "$article->plaintext<p>"; 
    $news['content'] = $news['content'] . $article->plaintext . "<p>";
    }

    print '<pre>';print_r($news);print '</pre>';

    print '<br><br>';

        // mysqli_query($DB,"INSERT INTO `wp_scraped_news` SET
             //                   `hash` = '".$news['title']."',
               //                 `title` = '".$news['title']."',
                 //               `image` = '".$news['image']."',
                   //             `content` = '".$news['content']."'");
         // print '<pre>';print_r($news);print '</pre>';
}

我不知道我在哪里错了,但我认为这是两件事之一,而且我已经搞砸了这两件事而没有运气。

1。我对foreach的布局方式做错了。

2。该网站正在更改每篇新文章的选择器。

在这两种情况下,我可能都错了......但是我现在和他们一起修剪了大约2个小时并放弃了......任何帮助都非常感激。

1 个答案:

答案 0 :(得分:4)

问题是您没有清除$news['content']中的旧内容。因此,当您处理第二页时,您需要将其内容附加到第一页的内容中。并且第三页再次附加到此,依此类推。

$news['content'] = '';

之前

foreach ($articles as $article) {