X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Ошибка в парсинге Url
FjuZ
FjuZ
Topic Starter сообщение 20.11.2009, 1:33; Ответить: FjuZ
Сообщение #1


6931fb
******

Группа: Active User
Сообщений: 1551
Регистрация: 3.2.2009
Из: UA
Поблагодарили: 595 раз
Репутация:   79  


Я в недоумении ph34r.gif
Пишу скрипт, который выводит все ссылки со страниц, которые указаны в текстовом файле т.е.
<?php
$fh = fopen("category.txt", "r") or die ("Загрузите в файл category.txt список категорий");
while(!feof($fh))
{
    $line = fgets($fh);
    $array[] = $line;
}
$c=count($array);
for ($x=0; $x<$c; $x++) {
$body = file_get_contents($array[$x]);
preg_match_all('#(?:href\s*=\s*["|\'](?:http://)+(?:www.)?)([^\'"]*)?(?:["|\'])#six', $body, ч, PREG_SET_ORDER);
print_r($out);
}
?>

в итоге-выводит ссылки только с одной страницы. В чем дело? Где я допустил ошибку?

Сообщение отредактировал FjuZ - 20.11.2009, 1:33


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Lordie
Lordie
сообщение 20.11.2009, 1:37; Ответить: Lordie
Сообщение #2


Топовый постер
*******


Группа: Active User
Сообщений: 4737
Регистрация: 11.5.2008
Поблагодарили: 966 раз
Репутация:   153  


FjuZ, что за мазохизм?.. file() читаем все в массив, а дальше циклом..


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FjuZ
FjuZ
Topic Starter сообщение 20.11.2009, 1:46; Ответить: FjuZ
Сообщение #3


6931fb
******

Группа: Active User
Сообщений: 1551
Регистрация: 3.2.2009
Из: UA
Поблагодарили: 595 раз
Репутация:   79  


Lordie, так?
<?php
$array = file ('category.txt');
$c=count($array);
for ($x=0; $x<$c; $x++) {
    $url = $array[$x];
$body = file_get_contents($url);
preg_match_all('#(?:href\s*=\s*["|\'](?:http://)+(?:www.)?)([^\'"]*)?(?:["|\'])#six', $body, $out, PREG_SET_ORDER);
print_r($out);
}
?>

результат не изменился


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LaeX
LaeX
сообщение 20.11.2009, 2:40; Ответить: LaeX
Сообщение #4


Участник
***

Группа: User
Сообщений: 163
Регистрация: 2.10.2009
Поблагодарили: 81 раз
Репутация:   25  


Функция file():
возвращает содержимое прочитанного файла в виде массива. Каждый элемент возвращенного массива содержит соответствующую строку с символами конца строки. В случае ошибки, функция file() возвращает FALSE.

Из-за этого по-моему и брались ссылки только из последней страницы в файле category.txt. Я использовал Simple HTML DOM для поиска ссылок на страницах и убирал символы конца строки.
<?
include('simple_html_dom.php');
$array = file('category.txt');

foreach($array as $url) {
    $new_url = str_replace("\r\n","",$url);
    $html = file_get_html($new_url);
    foreach($html->find('a') as $a_el) {echo $a_el->href."<br>\n";}
    
    $html->clear();
    unset($html);
}
?>

P.S. качнуть Simple HTML DOM можно http://sourceforge.net/projects/simplehtmldom/

Сообщение отредактировал LaeX - 20.11.2009, 2:45


--------------------
ICQpix — лучшие информеры ICQ статуса
Ѡ VDS за $2.99 (реф.) → 512/1024MB RAM, 50 GB HDD, полноценный SWAP
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FjuZ
FjuZ
Topic Starter сообщение 20.11.2009, 5:46; Ответить: FjuZ
Сообщение #5


6931fb
******

Группа: Active User
Сообщений: 1551
Регистрация: 3.2.2009
Из: UA
Поблагодарили: 595 раз
Репутация:   79  


LaeX, я ваш код не весь понимаю smile.gif мне лучше уже по моему способу выяснить ошибку, уже и так пробовал и сяк, фиг там.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
RedHead
RedHead
сообщение 20.11.2009, 13:06; Ответить: RedHead
Сообщение #6


Новичок
*

Группа: User
Сообщений: 30
Регистрация: 2.9.2008
Поблагодарили: 4 раза
Репутация:   0  


несовсем понятно что требуется от скрипта. Что на входе, что на выходе и т.д
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FjuZ
FjuZ
Topic Starter сообщение 20.11.2009, 20:05; Ответить: FjuZ
Сообщение #7


6931fb
******

Группа: Active User
Сообщений: 1551
Регистрация: 3.2.2009
Из: UA
Поблагодарили: 595 раз
Репутация:   79  


В файле domains.txt содержатся два сайта с которых скрипт должен показать все внешние ссылки


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ghost Bear
Ghost Bear
сообщение 22.11.2009, 0:13; Ответить: Ghost Bear
Сообщение #8


Новичок
*

Группа: User
Сообщений: 10
Регистрация: 29.8.2009
Поблагодарили: 3 раза
Репутация:   1  


Почему-то мне кажется, что print_r($out); вы добавили внутрь цикла только сейчас, а у себя делали его после цикла, благодаря чему выводился $out только с последнего preg_match_all, ибо каждый цикл, новый $out заменял собой старый.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FjuZ
FjuZ
Topic Starter сообщение 25.11.2009, 0:19; Ответить: FjuZ
Сообщение #9


6931fb
******

Группа: Active User
Сообщений: 1551
Регистрация: 3.2.2009
Из: UA
Поблагодарили: 595 раз
Репутация:   79  


Ghost Bear, нет, всё именно так. можете сами запустить скрипт у себя, посмотрите.
тема актуальна как никогда! срочно понадобился этот скрипт. помогите пожайлуста, отблагодарю чем смогу smile.gif


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
seotouch
seotouch
сообщение 25.11.2009, 0:27; Ответить: seotouch
Сообщение #10


Прощайте!
*****

Группа: Active User
Сообщений: 998
Регистрация: 7.1.2009
Поблагодарили: 405 раз
Репутация:   45  


(FjuZ @ 24.11.2009, 23:19) *
Ghost Bear, нет, всё именно так. можете сами запустить скрипт у себя, посмотрите.
тема актуальна как никогда! срочно понадобился этот скрипт. помогите пожайлуста, отблагодарю чем смогу smile.gif

Хм, а скиньте кусочек файлика, из которого берется текст


--------------------
Навсегда ушел
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Продвижение анкорами url адреса
2 FUTP 733 Вчера, 13:51
автор: OS_ZP_UA
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыОшибка при создании шаблона страницы ВП
Нет картинок
5 semarg 704 9.12.2017, 15:36
автор: Nell
Открытая тема (нет новых ответов) Куплю "вечные URL" с ваших сайтов с тематикой - Пластиковые Окна!
0 regem 449 5.12.2017, 3:47
автор: regem
Открытая тема (нет новых ответов) Редирект URL с пробелом
1 splint 498 26.10.2017, 15:13
автор: GlazAlmaz
Открытая тема (нет новых ответов) Ошибка карты сайта Sitemap. Помогите исправить, пожалуйста
8 July82 2951 22.10.2017, 10:00
автор: komarik_vlad


 



RSS Текстовая версия Сейчас: 15.12.2017, 7:03
Дизайн