Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Данные страницы

10K
24 апреля 2007 года
s-haman
64 / / 27.03.2007
Здраствуйте у меня возни вопрос такого плана
есть у меня несколько html страницы и появилась такая необходимость выбрать из них данные, сложность заключаеться в двух вещях первая сложность как переходить по страницам, тоесть во время выборки нужно переходить из одной страницы на другую и ещё эти страницы находяться на сервере.
Пример есть есть сайт pptp.com на нем есть три страница
index.html, index1.html, test.html
чтобы к ним получить доступ надо зайти по адрессу pptp.com/index.html (данный адресс может и несуществовать это приводиться как пример)
Второй вопрос заключаеться в том как мне можно программно получить данные из страницы тоесть когда открываеться страница чтобы html код мог обработать мой скрипт, или хотябы получить из него данные.

P.S. похожую тему я создавал но ненашол
92
24 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
грабить контент НЕ ХОРОШО!!! помогать сильно не буду только из принципа.... хоть и сам когда-то писал на заказ... зарёкся нафик...... да и репутация у тебя не впечатляющая... значит где-то накосячил.....

копай в строну regExp или DOM любыми средствами :) парсер это называется... глядишь того и догадаешься....
353
24 апреля 2007 года
Nixus
840 / / 04.01.2007
LWP(Perl) или CURL(PHP) и регулярные выражения тебе помогут.:)
10K
24 апреля 2007 года
s-haman
64 / / 27.03.2007
Насчет репутации дал неправильную ссылку, а когда заметил что неправильная(минут 15-20 прошло), хотел изменить но тему уже закрыли и в минуса поставили.
Я в принципи не грабить хочу а немного автоматизировать работу предприятия
92
24 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
ну как сказать как сказать, контент ведь все равно незаконно и без ведома полученный будет... вот как бы вот так... а если бы администрация сайта тебе сама давала контент (рассылкой или там RSS или чем еще...), то всё было бы просто...
16K
24 апреля 2007 года
unplugged
21 / / 27.11.2006
Не хочу спорить, но не вижу абсолютно ничего противозаконного в написании собственного парсера.
Вроде бы в УК и других нормативных документах такой статьи нет :)
Как тогда быть с ботами поисковиков - они тоже вне закона? :)
А если кто-то, например, пишет новый поисковик - его боты тоже в топку?
Вопрос скорее риторический, и видимо все связано просто с личной неприязнью автора к парсерам ;)
10K
26 апреля 2007 года
s-haman
64 / / 27.03.2007
нету никакой неприязни, я просто только начинаю програмить на php, и пока не ззнаю то такое парсер, опыт программирование я других языках есть тоесть алгоритм написать и закодить его я смогу, я начал писать алгорит и столкнулся с теми проблемами.

Как я понял предложение через парсер имелось ввиду во индексировать страницу, тоесть написать какойто скриптик который будет индексировать стриницу, адресом которой будет адрес нужной мне страницы, потом когда страница будет проиндексирована, тоесть её текст будет мне известен этот текст к примеру или обрабатывать через javascript(сразу же на странице) или записать в документ и обрабатывать любым другим языком программирования. Правильный ход мысли?
92
26 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
берешь страницу через функцию file();, если PHP.

разбираешь её по кускам.... а эти куски будут обычным HTML-кодом. я думаю, найти ссылку <a href="URL">Text</a> и вытащить из этой строчки URL, труда не составит... вот и получишь URL, который надо парсить (от англ. parse - анализировать, разбирать)....

всё зависит от того, что ты хочешь получить с этих страниц...

по первому вопросу (переход по страницам) я тебе ответил.

по второму - "брать данные" со страницы (парсить страницу), можно средсвами регулярных выражений в PHP....

в общем, если будут конкретные вопросы - пиши. в аську, в личку, сюда =)) как хочешь ;)

ЗЫ: никакой неприязни нет к парсерам... писал я их много и долго, просто надоело :)
8
26 апреля 2007 года
mfender
3.5K / / 15.06.2005
Сцылки (да и вообще всё прочее) можно вытащить гораздо более приемлемым способом:

 
Код:
$URL = "http://servant.domain/doc.ext";
$HTML = file_get_contents($URL);
$DOM = new DOMDocument();
$DOM->loadHTML($HTML);
$Links = $DOM->getElementsByTagName("a");
foreach ($Links as $Link){
    echo "{$Link->getAttribute('href')}\n";    
}
10K
07 мая 2007 года
s-haman
64 / / 27.03.2007
все предложенные способы пробовал понять не очень получилось решил попробовать просто открытие файла через функцию fopen, код выглядит так:
$handle = fopen("http://www.mg.net.ua/prices.php", "r");
но возникла проблемма следующего характера при открытии страницы выдаються следующие ошибки

Warning: php_network_getaddresses: gethostbyname failed in C:\server\www\2.php on line 9

Warning: fopen("http://www.mg.net.ua/prices.php", "r") - No error in C:\server\www\2.php on line 9
подскажите в чем может быть проблемма, в пхп ини разрешено открытие файлов по сети allow_url_fopen = On
2.2K
07 мая 2007 года
e1vin
153 / / 04.06.2006
Пока не прочитал про "открытие файлов по сети", хотел написать вот что, и напишу, может поможет...:

Цитата:

А скрипт у тебя где выполняется? На твоем компе? :p

Если да, то тебе сначала нужно запросить эту страницу по HTTP, потом сохранить и потом только открывать как локальный файл. Если скрипт выполняется на том же сервере, где и находятся файлы страниц, тогда открывай оттуда с его локальными путями...



ЗЫ. Да и еще. А ты уверен, что твой index.html или еще что-то подобное не генерится автоматически? Может быть такого файла вообще нет? Да и что это за такое открытие файлов по сети, я честно говоря не знаю... Как оно работает, для каких протоколов?

13
07 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
file_get_contents()
10K
08 мая 2007 года
s-haman
64 / / 27.03.2007
e1vin да файл генериться, и мне нужно из этого файла инфу получить
2.2K
08 мая 2007 года
e1vin
153 / / 04.06.2006
Я все-таки настаиваю на своем: а уверен ли ты, что можно прочитать исполняемый файл по сети? У тебя же страница генерируется скриптом! Скрипт ты не прочитаешь - прав нету, а читать страницу - это же вообще какие-то странные взаимодействия... Ты уверен, что PHP предоставляет подобный инструментарий, который инкапсулирует обмен данными по HTTP и предоставляет обычный интерфейс файловой системы?
13
08 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
Напишу для тех у кого проблемы со зрением
FILE_GET_CONTENTS()

http://ru2.php.net/manual/ru/function.file-get-contents.php
10K
10 мая 2007 года
s-haman
64 / / 27.03.2007
RussianSpy ненадо так сильно кричать,я вас слышу.
Пробовал через file_get_contents, написал такой код
$URL = "http://dn.kiev.ua/events/world/tkan_10.html";
$HTML = file_get_contents($URL);
echo $HTML;
запускаю скрипт, и он выводит пустую страницу, хотя когда старница находиться на стороне машины где находиться апачь, ту страницу он видит нормально
В принципе после переустановки php(замена на более новую версию), такойже результат получаеться и у функции fopen +fread
использую
apache_2.0.50+php-5.2.0
13
10 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
А вы уверены что файрволл не режет внешние соединения?
10K
10 мая 2007 года
s-haman
64 / / 27.03.2007
у меня на серчере нету фаервола, так а что фаер может сделать если у него на php.exe... и файлы нужные апачу стоит полное разрешение
13
10 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата из мануала по file_get_contents():
Цитата:

Для этой функции вы можете использовать URL в качестве имени файла, если была включена опция "fopen wrappers". Смотрите более подробную информацию об определении имени файла в описании функции fopen(), а также список поддерживаемых протоколов URL в Прил. M.



Проверяйте параметры соединения. Проблема не в РНР а в настройках вашего сервера.

92
10 мая 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: e1vin
Я все-таки настаиваю на своем: а уверен ли ты, что можно прочитать исполняемый файл по сети? У тебя же страница генерируется скриптом!



и что? ) результат выполнения скрипта ты всё равно получишь =)

Цитата: e1vin
Скрипт ты не прочитаешь - прав нету, а читать страницу - это же вообще какие-то странные взаимодействия...


в каком смысле странные???????? :eek:

Цитата: e1vin
Ты уверен, что PHP предоставляет подобный инструментарий, который инкапсулирует обмен данными по HTTP и предоставляет обычный интерфейс файловой системы?



я уверен ))) но насчет того, что полный функционал, скажем по HTTP, не уверен. читай fopen мануал :)

10K
10 мая 2007 года
s-haman
64 / / 27.03.2007
Может возникли ещё какието идеи(кроме проблем ссервером) почему может не работать?
у меня на серчере в конв вайле прописано allow_url_fopen = On
но ни через функцию fopen ни через file_get_contents файл в интеренте не открываеться
8
10 мая 2007 года
mfender
3.5K / / 15.06.2005
Велика вероятность того, что сервант просто ничего не даёт, т.к. полагает, что запрос идёт не от браузера. Обычная вещь против воровства контента.
13
10 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
А что пишет если запустить такой скрипт?
 
Код:
<?
error_reporting(E_ALL);

$res = file_get_contents('http://www.yandex.ru');

var_dump($res);

?>
10K
10 мая 2007 года
s-haman
64 / / 27.03.2007
Вот всё что выдает
bool(false)
8
10 мая 2007 года
mfender
3.5K / / 15.06.2005
Цитата: s-haman
Вот всё что выдает
bool(false)


Что-то режет...
А fopen\fread и file() тоже ничего не возвращают?

13
10 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
Какая ОС?
10K
10 мая 2007 года
s-haman
64 / / 27.03.2007
fopen\fread также ничего не возвращяет на интернет ресурса, а на локальном работает.
file из интернет ресурса возвращяет пустой массив(я пробовал выводить любой элемент массива)выводит пустую страницу, в локальном ресурсе выводит тоже пустую
RussianSpy в данный момент Win XP Home
Дома попробуй на Win XP Pro
13
10 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
WinXP? Как насчет встроенного файрволла? отключен?

Или что-нибудь вроде Kaspersky Anti-Hacker...
10K
10 мая 2007 года
s-haman
64 / / 27.03.2007
фаервола ненашол нашол брандмауер, он уже давно отключен
13
10 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата: s-haman
фаервола ненашол нашол брандмауер, он уже давно отключен



файрволл и брандмауэр одно и то же

Больше у меня идей нет... Качай ХАМРР и ставь его... Может поможет
apachefriends.org

10K
15 мая 2007 года
s-haman
64 / / 27.03.2007
также я пробовал через fgets, мне сказали что fread предназначен для дв,оичного чтения, ну, и ре,шил попробовать stream_get_line, результат один и тотже, тоесть с локальной машины данные читаються, а с сети или интернета данные не, могут быть считаны.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог