Как я могу скачать Yahoo Groups? - PullRequest
4 голосов
/ 18 марта 2009

Я хочу загрузить несколько групп Yahoo (файлы, фотографии, сообщения, список участников), и я нашел следующие сценарии:

Я скачал ActivePerl и необходимые модули из CPAN (ничего особенного; их очень легко найти). Мне удалось их установить, но когда я запускаю скрипт, я получаю сообщение об ошибке, которое сообщает мне, что я успешно вошел в систему: «Использование неинициализированных значений $ cell в сопоставлении с образцом (m //) в строке 244 yahoogroups_files.pl, строка 2.»

Я предполагаю, что Yahoo изменила макет страницы или что-то в этом роде, но я не могу обновить скрипт самостоятельно. Я новичок, когда дело доходит до Perl, и, понимая, как Yahoo генерирует страницы, я знаю только базовый C ++. Я хочу отметить, что я не ленивый, я постараюсь исправить это сам, но мне нужна ваша помощь: советы, советы, что угодно.

PS: я связался с автором, но он не хочет обновлять сценарии.

Ответы [ 6 ]

3 голосов
/ 18 марта 2009

Вам понадобятся знания в следующих областях:

  • использование html-парсера

  • http знание (get / post / head)

  • скребок

Я предлагаю вам сосредоточиться на WWW :: Mechanize , поскольку он способен на все эти вещи (и даже больше)

РЕДАКТИРОВАТЬ: еще одно решение (которое не требует программирования) заключается в следующем: войдите в свой браузер в группах Yahoo, сохраните cookie, а затем запустите wget, передав сохраненный cookie в качестве параметра. Таким образом, вы получите задачу, выполненную очень быстро.

Найдите файл cookies.txt вашего браузера на жестком диске, а затем вызовите wget следующим образом (если я правильно помню команды):

wget --load-cookies path_to_cookie_file -r -w 60 website

Полная справочная страница может быть найдена здесь

EDIT2: Другой вариант - использовать WebDriver для автоматизации Firefox. Вы можете использовать эту статью в качестве руководства о том, как этого добиться.

1 голос
/ 19 марта 2009

По имени файла я предполагаю, что вы используете архиватор Yahoo Group, найденный здесь: http://sourceforge.net/projects/grabyahoogroup/

Я запустил скрипт файлов для группы SubEthaEdit, и он отлично работает. Все файлы скачаны без происшествий.

Глядя на код, кажется, что он прерывается при обработке html-таблицы в цикле while, если $ cell пуст.

Учитывая, что код работал, когда я тестировал его, возможно, что-то происходит со списком файлов этой группы. Вы можете попытаться вывести $ content и выяснить, где и почему регулярное выражение на 243 не может обработать этот html.

РЕДАКТИРОВАТЬ: Если вы не возражаете опубликовать группу, с которой это происходит, я уверен, что я или кто-то еще здесь можем попробовать и устранить неполадки самостоятельно. Трудно точно определить, что случилось, когда проблема не может быть продублирована. Также попробуйте ту же группу, что и я, и посмотрите, сработает ли она для вас. Конечно, что-то не так с группой, которую вы пытаетесь, если это работает.

0 голосов
/ 01 февраля 2016

Я искал инструмент, который собирает сообщения / разговоры из групп Yahoo !. Я наконец нашел этот инструмент, который конвертирует ваш Yahoo! Группирует сообщения в формате MBOX после попытки сделать свое собственное и поиска везде в Интернете.

Скачать инструменты

Оба из следующих расширений Google Chrome.

Обычная строка для двоичных данных Base64

Некоторое время после 16 сентября 2010 года (по крайней мере для меня) полученные сообщения больше не являются простым текстом, а вместо этого - двоичными данными Base 64 (ASCII). Использование этого инструмента швейцарского конвертера может позволить вам читать данные как есть.

Пример содержимого из формата MBOX

VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=

Пример результата после преобразования

The quick brown fox jumps over the lazy dog.

0 голосов
/ 28 апреля 2013

grabyahoogroup хорошо работает в последней редакции, которую можно найти в репозитории svn:

http://grabyahoogroup.svn.sourceforge.net/viewvc/grabyahoogroup/trunk/yahoo_group/

Версия на sourceforge.net/projects/grabyahoogroup/files/ БАКАЛА И НЕ РАБОТАЛА ДЛЯ МЕНЯ.

0 голосов
/ 25 июля 2010

Некоторое время назад возился с этим, чтобы сделать резервную копию сообщений и файлов группы моей подруги из универа. После отладки последних сценариев я обнаружил, что, похоже, есть ошибка в объявлении group_domain (есть также ошибка объявления группы, обнаруженная в yahoo2maildir.pl того же проекта, см. $request)

($group_domain) = $url =~ /\/\/(.*?groups.yahoo.com)\//;

в этом случае я переписал переменную $ request под функцией sub download_folder() с помощью

from <br>
$request = GET "http://$group_domain/group/$group/files$sub_folder/";
<br> to <br>
$request = GET "http://**groups.yahoo.com/group/$user_group**/files$sub_folder/";
0 голосов
/ 26 мая 2009

Не знаю, поможет ли это вам, но вот что я сделал, чтобы заставить загрузку сообщений работать:

http://sourceforge.net/forum/forum.php?thread_id=3283915&forum_id=209170

(я использовал только загрузку сообщений, я не смотрел загрузку файлов)

...