Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как сохранить все ссылки в текстовый файл?  (Прочитано 1439 раз)

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

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #15 : 19 Августа 2018, 22:50:28 »
Только wget и perl:
wget -r --spider 'https://forum.alpari.com/' 2>&1 | perl -ne 's/%([[:xdigit:]]{2})/chr(hex($1))/eg; if (/.*(https:\/\/forum\.alpari\.com\/index\.php\?\/topic\/\S+\/)/) { unless ($1 eq $prev_s) { print "$1\n"; open FH, ">>", "site_links" or die; print FH "$1\n"; close FH; $prev_s=$1 }}'

Оффлайн daridaL

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #16 : 20 Августа 2018, 09:35:09 »
ReNzRv, Спасибо, так поняла, что перевод в читаемый вид замедляет работу.
Сделала такwget -r --spider 'https://forum.alpari.com/' 2>&1  | grep --line-buffered -Po 'https://forum\.alpari\.com/index\.php\?/topic/\S+' | awk -W interactive '($0 != p){print; print >> "site_links"}{p=$0}'Ссылки собираются, всё хорошо)
Попыталась по аналогии сделать такое начало ссылкиhttps://www.forexfactory.com/showthread.php?t=не хочет собиратьwget -r --spider 'https://www.forexfactory.com/' 2>&1  | grep --line-buffered -Po 'https://www\.forexfactory\.com/showthread\.php\?t=\S+' | awk -W interactive '($0 != p){print; print >> "site_links"}{p=$0}' Что неправильно?

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #17 : 20 Августа 2018, 11:19:57 »
Конвертирование символов не замедляет работу.
Время занимает само сканирование и переход по страницам.
Конвертирование символов нужно не только для русских букв, но и для некоторых символов в ссылке которые wget не выдает в явном виде. Без конвертирования ссылки могут быть не найдены в выводе.
По аналогии все правильно. Ссылок может не быть еще потому-что они генерируются php скриптом на сервере или дополнительно ява-скриптом браузера.

Оффлайн daridaL

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #18 : 20 Августа 2018, 21:48:33 »
ReNzRv, спасибо.
Ссылок может не быть еще потому-что они генерируются php скриптом на сервере или дополнительно ява-скриптом браузера.
То есть, без браузера ссылок не собрать?
В коде ссылки выглядят так: первая страница темы фору
<a class="threadlist__title-link" id="thread_title_582459" href="https://www.forexfactory.com/showthread.php?t=582459"> <span class="icon icon--thread"></span> <span class="icon icon--poll" title="Attached Poll"></span> <span title="No trolls allowed. professional oriented trading only. i dont check pm much. current personal outlook eu to test 1.17 in pursuit of 1.2470 valid ..." class="threadlist__title-text">The Swamp</span> </a>вторая страница <a data-page="2" href="showthread.php?t=582459&amp;page=2" title="View Posts 21 to 40">2</a>Можно, как то, собрать такие ссылки? Затем, в начало каждой строки я просто добавлю домен.

Оффлайн ShadowUser15

  • Активист
  • *
  • Сообщений: 718
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #19 : 20 Августа 2018, 21:54:05 »
Не тестил!
Браузером  если нужно однократно, по идее самый надёжный вариант.
https://addons.mozilla.org/ru/firefox/search/?q=copy%20links
например
https://addons.mozilla.org/ru/firefox/addon/copy-links/
вероятное введение нестандартных десятичностей, внутри системы - заставляет задуматься о переходе на другой

Оффлайн daridaL

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #20 : 23 Августа 2018, 21:14:15 »
ShadowUser15, спасибо.
ReNzRv, как можно вместо ссылок сохранять слово? Если встретилось слово "divergens" сохранять столько раз сколько встретится на сайте.

Оффлайн ShadowUser15

  • Активист
  • *
  • Сообщений: 718
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #21 : 24 Августа 2018, 00:53:44 »
слово "divergens" сохранять столько раз сколько встретится на сайте.
количество встреч? страницы целиком? ссылки?
вероятное введение нестандартных десятичностей, внутри системы - заставляет задуматься о переходе на другой

Оффлайн daridaL

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Re: Как сохранить все ссылки в текстовый файл?
« Ответ #22 : 24 Августа 2018, 01:05:02 »
ShadowUser15, каждый раз при встрече записать только это слово в файл.
вот так переходит и записывает все ссылки в файлwget -r --spider 'https://forum.alpari.com/' 2>&1  | grep --line-buffered -Po 'https://forum\.alpari\.com/index\.php\?/topic/\S+' | awk -W interactive '($0 != p){print; print >> "site_links"}{p=$0}'в место ссылок нужно записывать "divergens" если оно есть на странице ) или слово - "divergens~!@#$%^&*()_+"
« Последнее редактирование: 29 Января 2019, 22:32:24 от daridaL »

 

Страница сгенерирована за 0.027 секунд. Запросов: 23.