Я хочу ввести очень длинный список URL-адресов и искать конкретные строки в исходном коде, выводя список URL-адресов, которые содержат строку. Звучит достаточно просто, верно? Я придумал нижеприведенный код, который представляет собой HTML-форму. Вы можете попробовать это на pelican-cement.com/findfrog.
Кажется, он работает половину времени, но отбрасывается несколькими URL-адресами в разных порядках. При поиске 'adsense' он правильно идентифицирует policy1.com из
cnn.com
politics1.com
однако, если инвертировано, вывод будет пустым. Как я могу получить надежные, последовательные результаты? желательно что-то, что я мог бы ввести тысячи URL-адресов?
<html>
<body>
<?
set_time_limit (0);
$urls=explode("\n", $_POST['url']);
$allurls=count($urls);
for ( $counter = 0; $counter <= $allurls; $counter++) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$urls[$counter]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_exec ($ch);
$curl_scraped_page=curl_exec($ch);
$haystack=strtolower($curl_scraped_page);
$needle=$_POST['proxy'];
if (strlen(strstr($haystack,$needle))>0) {
echo $urls[$counter];
echo "<br/>";
curl_close($ch);
}
}
//$FileNameSQL = "/googleresearch" . abs(rand(0,1000000000000000)) . ".csv";
//$query = "SELECT * FROM happyturtle INTO OUTFILE '$FileNameSQL' FIELDS TERMINATED BY ','";
//$result = mysql_query($query) or die(mysql_error());
//exit;
echo '$FileNameSQL';
?>
</body>
</html>