Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проблемы с коллектором ссылок (http://forum.oszone.net/showthread.php?t=321472)

hp1nt0 05-12-2016 22:20 2693331

Проблемы с коллектором ссылок
 
Здравствуйте. Я давно уже применяю скрипт коллектор ссылок на PS.
Надо сказать я не в деталях понимаю как он работает так как с PS не знаком.
Но до сих пор методом подстановки и научным тыком я его применял успешно.
Но вот сегодня я попробовал натравить его на сайт http://ru-chp.livejournal.com/ и оказалось что-то не работает.
Скрипт собирает линки на ютуб и их должно быть около 20 а скрипт выдаёт только 10.
Не могли бы вы пояснить почему скрипт показывает только половину ссылок и как его скорректировать что бы показывал все.
вот скрипт:
Код:

((Invoke-WebRequest –Uri "http://ru-chp.livejournal.com/").Links | Where-Object {$_.href -like “http*”} | Where href -like “http*youtube.com/watch?v=*”).href >LinkListRel.txt
Заранее спасибо.

Kazun 05-12-2016 23:00 2693348

Сделать более широкий фильтр:
Код:

((Invoke-WebRequest -Uri "http://ru-chp.livejournal.com/").Links | Where-Object href -match "youtu").href
Т.к. часть www.youtube.com, а часть youtu.be(часть ссылок введет на vk.com):
Код:

https://www.youtube.com/watch?v=LlCJ9zmKHCU
https://www.youtube.com/watch?v=Bez7tdgE4Vg
https://youtu.be/Qb6g4PzB6LA
https://youtu.be/J-x_J8unBh4


hp1nt0 05-12-2016 23:31 2693354

Дааа а слона то я и не приметил. Спасибо большое, теперь отлично.

hp1nt0 06-12-2016 00:25 2693365

Господа у меня неожиданно возникла проблема.
Вывод скрипта я пишу в файл а потом youtube-dl из этого файла читает.
Так вот проблема в том что PowerShell пишет в файл в кодировке UCS-2 LE BOM
которую youtube-dl не понимает. Если текстовичок с ссылками конвертировать
в аски или юникод то всё работает.
Как мне заставить PowerShell писать в файл в аски или юникоде?

Быстрый гуглёж показал простое решение
Код:

write-output "hello" | out-file "enctest.txt" -encoding utf8
youtube-dl ругается но работает.
Код:

WARNING: [UnicodeBOM] Your URL starts with a Byte Order Mark (BOM). Removing the BOM and looking for "https://www.youtube.com/watch?v=LlCJ9zmKHCU" ...
Буду рад подсказкам как писать в файт в нормальном юникоде или аски.

Всё решено. уф.

Iska 06-12-2016 02:22 2693375

Цитата:

Цитата hp1nt0
…или аски. »

Код:

>LinkListRel.txt | Out-File -FilePath '…' -Encoding Default
Unicode c BOM — это и есть нормальный юникод. Ненормально то, что в 2016 году youtube-dl не умеет с ним работать.


Время: 01:26.

Время: 01:26.
© OSzone.net 2001-