Автор Тема: Забрать страничку с другого сайта  (Прочитано 14674 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Народ, подскажите плиз, как забрать страничку по урлу, что-то из нее выкусить и получить свой вариант?

СПАСИБО!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Забрать страничку с другого сайта
« Ответ #1 : 07 Мая 2003, 20:06:16 »
Вор должен сидеть в тюрьме.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Забрать страничку с другого сайта
« Ответ #2 : 07 Мая 2003, 20:26:22 »
а если ты хочешь забирать новости или что-то такое, то вот:
http://spectator.ru/issues/352
•••Jah\'d never let us down!•••

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Забрать страничку с другого сайта
« Ответ #3 : 08 Мая 2003, 09:56:25 »
Сори, если ввел в заблуждение, не написав причину :)
Никто ничего воровать не собирается, просто хочу для себя сделать "каналы" в удобоваримом виде для КПК (без всяких банеров, фреймов и т.п. - только информация). Если это криминал - тогда сорри, больше спрашивать не буду... :)

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Забрать страничку с другого сайта
« Ответ #5 : 08 Мая 2003, 11:06:15 »
semya
Спасибо! Начал разбираться...
А как по твоиму, лучше массивом по строчка лазить или все таки в одну переменную контент заливать а его уже разбирать?
Кстати, чем лучше выкусить потом то что надо?

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Забрать страничку с другого сайта
« Ответ #6 : 08 Мая 2003, 14:38:44 »
да все очень просто, находишь два куска кода, который ограничивает искомый текст, и выкусываешь его так:


preg_match
("(ограничитель1)(.*)(ограничитель2)",implode(\'\',file(\'http://www.pupkin.ru\')),$matches);


в $matches[2] будет искомый кусок, только надо аккуратней с (.*) он может захватить больше чем положено, об этом читай в книжках по регэкспам и их максимализме, а если надо будет конкретная помощь по данному случаю, то спрашивай...

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Забрать страничку с другого сайта
« Ответ #7 : 08 Мая 2003, 18:16:18 »
semya
Ок. Спасибо, попробую.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Забрать страничку с другого сайта
« Ответ #8 : 14 Мая 2003, 12:18:11 »
semya
А как через проксю или socks5 пройти? Ни fopen, ни fsockopen вроде не проходят :( Во всяком случае ошибка по таймауту...

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Забрать страничку с другого сайта
« Ответ #9 : 14 Мая 2003, 14:53:10 »
Все, спасибо, разобрался. Цепляюсь за проксю через fsockproxy, и формирую запрос на нужный урл.
Теперь вопрос вот в чем. В ответ я получаю текст странички вместе с заголовком. Как лучше избавиться от него (заголовка)?
Пробовал так:
$z preg_replace("/^.*<HTML>/","<HTML>",$k);
$k - массив-ответ на запрос

Что я не так в рег.выражении написал?

СПАСИБО!

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Забрать страничку с другого сайта
« Ответ #10 : 14 Мая 2003, 15:05:15 »
"/^.*/s" или "/^.*/m" (точно не помню, вроде первое)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Забрать страничку с другого сайта
« Ответ #11 : 14 Мая 2003, 15:53:10 »
Фу, зачем здесь регекспы?!
list($headers$content) = explode("\\r\\n\\r\\n"$k)
Только обязательно забирай HTTP/1.0, а не 1.1!
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Забрать страничку с другого сайта
« Ответ #12 : 14 Мая 2003, 16:01:35 »
FreeSpace
А по тексту странички нигде больше "\\r\\n\\r\\n" встретиться не может?

Макс
Т.е. все как у меня, только еще s или m? А что из них по умолчанию подразумевается вроде?

Вообще конечно регекспами мне все равно надо будет коцать страничку, т.к. хочу всякие банеры повырезать, фреймы и тд.

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Забрать страничку с другого сайта
« Ответ #13 : 14 Мая 2003, 16:07:54 »
Да, ступил малость...
Просто на моей практике ни разу не попадалось.
Вот так будет правильнее:
$tmp explode("\\r\\n\\r\\n"$k);
array_shift($tmp);
$content implode("\\r\\n\\r\\n"$tmp);
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Забрать страничку с другого сайта
« Ответ #14 : 14 Мая 2003, 16:22:27 »
FreeSpace
Угумс, так действительно проблем не будет.
Спасибо!

Хм, а все-таки, почему мой регексп не прокатил? Просто мне теперь надо коцать сам текст странички, а там как я понимаю, без них не обойтись...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28