получить RSS там, где его нет - PullRequest
0 голосов
/ 21 сентября 2010

Извините за длинное название и, возможно, запутываем наполовину хорошее, когда мы придем. Я спрашиваю совета или руководства о том, как я могу получить RSS-канал со страницы, на которой RSS не включен по умолчанию. Но это не сама проблема. Проблема в том, что на этой странице меня просят ввести имя пользователя и пароль. Ну так иначе было бы дело ...

ПРОБЛЕМА:

Получите RSS форума, на котором не включен канал RSS, и для просмотра «новостей» нам необходимо войти в систему.

ВОЗМОЖНЫЕ РЕШЕНИЯ , которые приходят на ум:

  1. Существует несколько веб-сайтов, предлагающих услуги на английском языке для получения RSS на страницах, где их нет. Это нормально, но проблема в том, что на этих сайтах нет возможности войти с именем пользователя и паролем на веб-страницу, где я хочу получить информацию, поэтому такие типы сайтов исключены.
  2. Я не входил через URL и поэтому разместил этот URL на веб-сайтах, перечисленных выше (пункт 1) форума, с переменными имени пользователя и пароля непосредственно из спецификации URL: www.forosinrss/login.php?usuario = me & password = your pff, и я отскочил от форума, сообщив Я не получаю правильные данные, как мы будем. Другая проблема заключается в том, что пароль md5 зашифрован, поэтому я не могу войти с помощью URL (fk T_T).
  3. Попробуйте использовать «SELECT * FROM DB Internet» или, другими словами, использовать YQL. Но получилось почти так же, как они не нашли способа вставить и войти в систему под именем пользователя и паролем, а также создать файл cookie для форума. Я не рад, что проголосовал.

Мне нужны предложения, рекомендации, советы или жалобы.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2010

Когда-то я написал приложение на PHP, чтобы сделать это с результатами ok-ish:

  • используйте curl, чтобы получить страницу и сохранить копию
  • запустить пользовательское регулярное выражение фильтра, чтобы выбрать бит страницы, который действительно имеет значение (на некоторых сайтах динамический текст, такой как реклама, или просто отображается текущая дата и время)
  • после тайм-аута, используйте curl, чтобы снова получить страницу и запустить тот же фильтр на ней
  • запустите diff old_page, new_page и передайте результат в шаблон rss

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

0 голосов
/ 21 сентября 2010

Загрузите страницу, используя что-то вроде cURL или fsockopen, если вы чувствуете себя смелым, затем преобразуйте страницу из HTML в RSS, используя таблицы стилей XSLT.

...