私はウェブクローラーを構築しています。ページ上のすべてのリンクとそのタイトル、メタディスクリプションなどを見つけます。次に、必要なリンクのすべての開始 URL を提供する配列を作成しました。したがって、リンクをクロールし、その URL が開始 URL を示す配列内の任意の値で始まる場合は、$news_stories に挿入します。
唯一の問題は、それらに挿入されていないように見えることです。ページが空白に戻り、array_intersect ステートメントが配列を必要としており、私が持っている配列を指定していないことが表示されます。
要約すると、コードが機能しない場所と、必要な URL が挿入されない理由を理解するのに苦労しています。
$bbc_values = array(
'http://www.bbc.co.uk/news/health-',
'http://www.bbc.co.uk/news/politics-',
'http://www.bbc.co.uk/news/uk-',
'http://www.bbc.co.uk/news/technology-',
'http://www.bbc.co.uk/news/england-',
'http://www.bbc.co.uk/news/northern_ireland-',
'http://www.bbc.co.uk/news/scotland-',
'http://www.bbc.co.uk/news/wales-',
'http://www.bbc.co.uk/news/business-',
'http://www.bbc.co.uk/news/education-',
'http://www.bbc.co.uk/news/science_and_enviroment-',
'http://www.bbc.co.uk/news/entertainment_and_arts-',
'http://edition.cnn.com/'
);
// BBC Algorithm
foreach ($links as $link) {
$output = array(
"title" => Titles($link), //dont know what Titles is, variable or string?
"description" => getMetas($link),
"keywords" => getKeywords($link),
"link" => $link
);
if (empty($output["description"])) {
$output["description"] = getWord($link);
}
}
$new_stories = array();
foreach ($output as $new_array) {
if (array_intersect($output['link'], $bbc_values) == true) {
$news_stories[] = $new_array;
}
print_r($news_stories);
}