PDA

Показать полную графическую версию : [решено] Проблемы с коллектором ссылок


hp1nt0
05-12-2016, 22:20
Здравствуйте. Я давно уже применяю скрипт коллектор ссылок на 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
Сделать более широкий фильтр:
((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
Дааа а слона то я и не приметил. Спасибо большое, теперь отлично.

hp1nt0
06-12-2016, 00:25
Господа у меня неожиданно возникла проблема.
Вывод скрипта я пишу в файл а потом 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
…или аски. »
… >LinkListRel.txt | Out-File -FilePath '…' -Encoding Default
Unicode c BOM — это и есть нормальный юникод. Ненормально то, что в 2016 году youtube-dl не умеет с ним работать.




© OSzone.net 2001-2012