Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
Здраствуйте!
Хочу нписать для себя Грабер с одного новостного сайта.
Если можно дайте ссылки на необходимые для меня статьи.
И так: есть сайт, на котором есть краткие описание статей (их много). Необходимо найти ссылки на статью (название имеет латинские буквы, не цифры, что, возможно, будет трудновато). Открыть статью и весь текст, содержащийся там, передать Гуглу (или другому переводчику), чтобы тот переклал с русского языка на Украинский, а после перевода уже занес в БД.
Как грабер делать - я немного читал, но собого представления не имею. И так как здесь никто не будет писать вместо меня, поэтому прошу дать ссылки на описания функций, которые мне будут необходимы для моей идеи
Заранее благодарен!
-----
JustUserR
Отправлено: 08 Марта, 2010 - 22:03:40
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
A.N.R.I В принципе для этого достаточно использовать CURL/sockets и соответственно регулярные выражения для разбора (Функции типа popen-оболожен лучше не использовать так как они неявно передают HTTP-данные Далее можете поставить программу Proxymition и точно отлавливать все HTTP-запросы для получения интересующей вас информации с новостного сайта - и по аналогии делать запрос в вашем PHP-скрипте
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
movEAX
Отправлено: 09 Марта, 2010 - 16:37:13
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
Если ты не знаком с регулярными выражениями, то перво-наперво необходимо их изучить, а так же, как уже упомянул JustUserR, CURL или sockets (правда я не понял причем тут popen, имелось в виду наверное fopen ?)
1. Маскируемся: Заголовки должны быть такие же как если бы мы заходили через обычный браузер. Желательно, но в некоторых случаях не обязательно.
2. Изучаем структуру страницы: Скорее всего, заголовок новости является ссылкой на полную версию и наверняка имеет определенный CSS класс т.е. <a href=".." class="news-title"> ... </a>.
3. На основе наблюдений составляем регулярное выражение которое выдерает все ссылки и заголовоки на статьи. Т.е. получаем массив типа:
4. Обходим полученный массив.
4.1 Загружаем контент по ссылке. Опять используем регулярные выражения, но на этот раз для выдерания контента статьи. С помощью Google API переводим содержимое на нужный язык. Сохраняем результат в БД/файл.
4.2 Переводим заголовок по средством Google API, тоже сохраняем в базу/файл.
Не помешает еще обработчик ошибок и удобный UI.
----- армия.. самое убогое место
JustUserR
Отправлено: 10 Марта, 2010 - 17:18:53
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
movEAX пишет:
Как уже упомянул JustUserR, CURL или sockets (правда я не понял причем тут popen, имелось в виду наверное fopen ?)
Да имелось в виду использовать функций типа fopen (В том числе file_get_contents и тд с URL-аргументом - ведь привыкание к такому подхожу очень плохо потому что для доступа к сайту который требует чуть больше чем GET/Host/User-agent-информацию это работать не будет - лучше сразу привыкать использовать CURL/sockets и изучать протокол работы с данным сайтом на анализе HTTP-запросов которые можно смотреть нпример с помощью Proxymition
Сложнее всего обойти защиту на JS потому что потребуется либо анализ и разбор JS-кода - как например в CGIProxy - или виртуальная машина JS что очень сложно
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
A.N.R.I
Отправлено: 18 Марта, 2010 - 16:46:59
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
JustUserR, ам, а название программы верно написано? А то гугл дал только ссылку на php.su
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
A.N.R.I пишет:
JustUserR, ам, а название программы верно написано? А то гугл дал только ссылку на php.su
А что лучше - curl или sockets???
HTTP сниферов полно (EffeTech HTTP Sniffer, HTTPAnalyzer, CommView и т.д.), можешь тот же FireBug для мазилы использовать, там тоже можно заголовки подсмотреть.
----- армия.. самое убогое место
A.N.R.I
Отправлено: 18 Марта, 2010 - 17:53:58
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
movEAX пишет:
A.N.R.I пишет:
JustUserR, ам, а название программы верно написано? А то гугл дал только ссылку на php.su
А что лучше - curl или sockets???
HTTP сниферов полно (EffeTech HTTP Sniffer, HTTPAnalyzer, CommView и т.д.), можешь тот же FireBug для мазилы использовать, там тоже можно заголовки подсмотреть.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
A.N.R.I пишет:
JustUserR, ам, а название программы верно написано? А то гугл дал только ссылку на php.su
А что лучше - curl или sockets???
Да с названием буквы перепутал - я имел в виду [url]http://go[dot]mail[dot]ru/search?q=Proxymitron скачать[/url]
Что касается curl и sockets то могу сказать что curl проще но он работате только для определенного набора протоколов - а с помощью sockets можно писать почти любые сетевые клиенты
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.