напарсил ссылок, они в блокноте все подряд идут (в куче) из за этого прога не видит урлы, а разпознаёт как один. в нотепаде ++ нормально в столбик. копировал с нотепада в блокнот, бесполезно. как заменить, исправить, чтобы в столбик все были? п.с. Skofield твоим скриптом парсил.
Хм... В скрипте ничего не менял? Должно записывать в столбик. Попробуй так: PHP: <?php // Google set_time_limit(0); $key = urlencode('some query'); // Запрос $fp = fopen('links.txt', 'wb'); for ($i = 0; $i<=10; $i += 10) // Номера страниц. Так как гугл чередует номера страниц следующим образом: страница 1 - 0, стр. 2 - 10, стр. 3 - 20 и т.д., то выражение $i<=500 означает поиск ссылок до стр. 51. { $google = file_get_contents("http://www.google.com/search?q=$key&start=$i"); preg_match_all('#<h3 class="r"><a href="(.*?)".*?</a></h3>#', $google, $links); foreach ($links[1] as $link) { echo $link."<br>\n"; fwrite($fp, $link."\n"); } flush(); ob_flush(); sleep(5); // Задержка (5 сек.) } fclose($fp); ?> Добавил вывод в браузер.
Что-то не пойму почему не вставляет в файл у тебя перенос строки!! А если вот так: PHP: <?php // Google set_time_limit(0); $key = urlencode('some query'); // Запрос $pagesNum = 5; // Количество страниц для парсинга $fname = "links.txt"; $fp = fopen($fname, 'wb'); for ($i = 0; $i<=($pagesNum-1)*10; $i += 10) { $google = file_get_contents("http://www.google.com/search?q=$key&start=$i"); preg_match_all('#<h3 class="r"><a href="(.*?)".*?</a></h3>#', $google, $links); foreach ($links[1] as $link) { echo $link."<br>\n"; fwrite($fp, $link."\n"); } flush(); ob_flush(); sleep(5); // Задержка (5 сек.) } fclose($fp); $file = file_get_contents($fname); file_put_contents($fname, trim(preg_replace("#http(|s)://#", "\n$0", $file))); ?> После парсинга должно вставить в файле переносы строки перед http
я хз почему, но и так тоже не робит, именно в блокноте который по дефолту в винде. ссылки в таком виде: ладно, с выводом в браузер всё отлично стало!