|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Парсинг HTML, Parser HTML |
|
PowerShell - Парсинг HTML, Parser HTML
|
Пользователь Сообщения: 77 |
Привет, прошу помощи гуру Powershell по оптимизации и ускорении небольшого HTML парсера.
$SiteDate = "http://mp320vip.com/mp3-preview/SINGLES%20-%20New%20Releases%20-%20Beatport-Juno-Traxsource/EURO-DANCE/" $HttpContent = Invoke-WebRequest -URI $SiteDate" $HttpContent.Links | select -skip 5 | Foreach { $link = $_ $date = [string]($link.href -replace "[/]") $Fname = [string]"c:\temp\"+($link.href -replace "[/]")+".m3u" $Flink = [string]"$SiteDate"+$link.href $HttpContent2 = Invoke-WebRequest -URI $Flink" $HttpContent2.Links | select -skip 5 | Foreach { $link2 = $_ [string]"#EXTINF:-1,"+$link2.outerText+" group-title="""+$date+"""" | Out-File -FilePath $Fname -append [string]"$Flink"+$link2.href | Out-File -FilePath $Fname -append } } |
|
Отправлено: 10:00, 13-04-2016 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать $wc = New-Object Net.WebClient $SiteDate = "http://mp320vip.com/mp3-preview/SINGLES%20-%20New%20Releases%20-%20Beatport-Juno-Traxsource/EURO-DANCE/" $wc.DownloadString("$SiteDate").split("`n") | Where {$_ -match '^<tr>.+<a href="(.+)">.+</a>'} | select -skip 1 | Foreach { $link = $matches[1] $date = $link -replace "[/]" $Fname = "c:\temp\"+($link -replace "[/]")+".m3u" $flink = $SiteDate + $link $wc.DownloadString($flink).split("`n") | Where {$_ -match '^<tr>.+<a href="(.+)">(.+)</a>'} | select -skip 1 |Foreach { $link = $matches[1] $text = $matches[2] "#EXTINF:-1,"+$text+" group-title="""+$date+"""" "$flink"+$link } | Out-File -FilePath $Fname } |
Последний раз редактировалось Kazun, 13-04-2016 в 11:05. Отправлено: 10:56, 13-04-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 77
|
Профиль | Отправить PM | Цитировать Kazun, Т.Е. Net объект явно быстрее? почему ты решил полностью переписать на Net.WebClient вместо использования Invoke-WebRequest?
а как добавить использование прокси к этому объекту? |
Отправлено: 11:06, 13-04-2016 | #3 |
Пользователь Сообщения: 77
|
Профиль | Отправить PM | Цитировать прокси добавил легко,
$wc.Proxy=new-object system.net.WebProxy('http://IP:порт',$true); а вот понять что делает ваш скрипт не получилось. данные сильно разнятся с моей версией скрипта... мой скрипт создает 12608 строк а ваш 2834 |
Отправлено: 13:31, 13-04-2016 | #4 |
Пользователь Сообщения: 136
|
Профиль | Сайт | Отправить PM | Цитировать Вася тоже говорил, что надо использовать Net.WebClient вместо Invoke-WebRequest, вопрос почему?
|
|
------- Отправлено: 09:30, 14-04-2016 | #5 |
Ветеран Сообщения: 1758
|
Pavel Nagaev, достаточно интересная статья на близкую тему.
|
Отправлено: 10:43, 14-04-2016 | #6 |
Пользователь Сообщения: 77
|
Профиль | Отправить PM | Цитировать Foreigner, я читал ее, и сам тестировал на этом же сайте.
Мои результаты отличаются от того что написано в статье. Если говорить про скачку файлов, то Start-BitsTransfer быстрее всех, но разница в сотых долесекундах... А статье описано что 27 (Invoke-WebRequest) секунд и 7 (Net.WebClient) секунд... может быть и на старых версия PoSh была такая разница сейчас Invoke-WebRequest очень быстро все делает, и мне он кажется очень простым. |
Отправлено: 08:46, 15-04-2016 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Парсинг HTML | Smasher | Скриптовые языки администрирования Windows | 14 | 25-09-2012 20:45 | |
Копировать текст без редактирования html, возможность вставки как html, так и bb-кода | soulrepsol | Хочу все знать | 3 | 07-03-2012 09:21 | |
Интернет - [решено] Посоветуйте HTML редактор для осваивания HTML | streamrider | Программное обеспечение Windows | 5 | 12-12-2011 11:19 | |
HTML parser | SliderVM | Вебмастеру | 14 | 12-05-2008 11:25 | |
html | milan | Вебмастеру | 20 | 15-01-2006 05:01 |
|