Zur Zeit vorgelegt wird ich simple_html_dom bin mit einer Website view here kratzen die Website zu sehen, ich bin Schaben, kommt alles wieder in Ordnung, außer es den gleichen Inhalt für jeden einzelnen Posten setzen geht es kratzt .. View here to see demoAusgabe mehrfach
$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>';
}
Ich habe keine Ahnung, wo ich hier falsch liege, aber ich nehme an, es ist eines von zwei Dingen, und ich habe mit diesen beiden Dingen herumgespielt, ohne Glück.
1. Ich mache etwas falsch mit, wie meine foreach
ausgelegt sind.
2. Die Website ändert Selektoren für jeden neuen Artikel.
In beiden Fällen bin ich wahrscheinlich falsch .. aber ich habe mit ihnen beide für etwa 2 Stunden jetzt und an dem Punkt des Aufgebens gebastelt .. jede Hilfe wird sehr geschätzt.
Ich denke, Ihre Auswahl Weg falsch sein kann. Wählen Sie in Chrome das gewünschte HTML-Element aus, klicken Sie mit der rechten Maustaste, und klicken Sie anschließend auf Kopieren> Auswahl kopieren. Ich bekomme etwas, das so aussieht: '# site-top> div.site-wrapper> div.top-content> artikel> abschnitt> ul> li: nth-kind (2)> div.info> div> div> p '- wahrscheinlich muss dieses' li: nth-child (2) 'zu diesem' li' geändert werden ... ein Platz zum Starten. – Clay
@Clayton wenn man sich den angezeigten Code anschaut, habe ich das auskommentiert, weil ich es schon ausprobiert habe .. - Einfach den Code wieder einfügen, und es werden nur die auf der ** News ** -Archivseite angezeigten Snippets zurückgegeben Wir deklarieren die URL oben, was bedeutet, dass wir auch die Inhaltsseiten scrappen können. – Placeholder