From 1a5fafa245cf9dfab1ce64bfca74fd801b577155 Mon Sep 17 00:00:00 2001 From: jvlflame Date: Sat, 29 Aug 2020 03:49:13 -0700 Subject: [PATCH] Update scrapers --- src/Javinizer/Public/Get-DmmData.ps1 | 74 ++++++++-------- src/Javinizer/Public/Get-Jav321Data.ps1 | 48 +++++------ src/Javinizer/Public/Get-JavbusData.ps1 | 60 ++++++------- src/Javinizer/Public/Get-JavlibraryData.ps1 | 62 ++++++------- src/Javinizer/Public/Get-R18Data.ps1 | 96 +++++++++++---------- 5 files changed, 174 insertions(+), 166 deletions(-) diff --git a/src/Javinizer/Public/Get-DmmData.ps1 b/src/Javinizer/Public/Get-DmmData.ps1 index 7e9485c2..8d16baa2 100644 --- a/src/Javinizer/Public/Get-DmmData.ps1 +++ b/src/Javinizer/Public/Get-DmmData.ps1 @@ -2,7 +2,7 @@ function Get-DmmData { [CmdletBinding()] param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] - [string]$Url + [String]$Url ) process { @@ -16,7 +16,7 @@ function Get-DmmData { Write-JLog -Level Error -Message "Error [GET] on URL [$dmmUrl]: $PSItem" } - $movieDataObject = [pscustomobject]@{ + $movieDataObject = [PSCustomObject]@{ Source = 'dmm' Url = $dmmUrl Id = Get-DmmContentId -WebRequest $webRequest @@ -46,11 +46,11 @@ function Get-DmmData { function Get-DmmContentId { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $contentId = ((($WebRequest.Content -split '品番:<\/td>')[1] -split '<\/td>')[0] -split '')[1] + $contentId = ((($Webrequest.Content -split '品番:<\/td>')[1] -split '<\/td>')[0] -split '')[1] $contentId = Convert-HtmlCharacter -String $contentId Write-Output $contentId } @@ -59,11 +59,11 @@ function Get-DmmContentId { function Get-DmmTitle { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $title = (($WebRequest.Content -split '

')[1] -split '<\/h1>')[0] + $title = (($Webrequest.Content -split '

')[1] -split '<\/h1>')[0] $title = Convert-HtmlCharacter -String $title Write-Output $title } @@ -72,11 +72,11 @@ function Get-DmmTitle { function Get-DmmDescription { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $description = (($WebRequest.Content -split '')[0] + $description = (($Webrequest.Content -split '')[0] # Remove the first 14 characters of the description string # This will remove the 'Fanza' string prepending the description in the html $description = $description.Substring(14) @@ -93,11 +93,11 @@ function Get-DmmDescription { function Get-DmmReleaseDate { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $releaseDate = ((($WebRequest.Content -split '配信開始日:<\/td>')[1] -split '<\/td>')[0] -split '')[1] + $releaseDate = ((($Webrequest.Content -split '配信開始日:<\/td>')[1] -split '<\/td>')[0] -split '')[1] $releaseDate = Convert-HtmlCharacter -String $releaseDate $year, $month, $day = $releaseDate -split '/' $releaseDate = Get-Date -Year $year -Month $month -Day $day -Format "yyyy-MM-dd" @@ -108,11 +108,11 @@ function Get-DmmReleaseDate { function Get-DmmReleaseYear { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $releaseYear = Get-DmmReleaseDate -WebRequest $WebRequest + $releaseYear = Get-DmmReleaseDate -WebRequest $Webrequest $releaseYear = ($releaseYear -split '-')[0] Write-Output $releaseYear } @@ -121,11 +121,11 @@ function Get-DmmReleaseYear { function Get-DmmRuntime { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $length = ((($WebRequest.Content -split '収録時間:<\/td>')[1] -split '<\/td>')[0] -split '')[1] + $length = ((($Webrequest.Content -split '収録時間:<\/td>')[1] -split '<\/td>')[0] -split '')[1] $length = ($length -split '分')[0] Write-Output $length } @@ -134,11 +134,11 @@ function Get-DmmRuntime { function Get-DmmDirector { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $director = ((($WebRequest.Content -split '監督:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] + $director = ((($Webrequest.Content -split '監督:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] $director = Convert-HtmlCharacter -String $director if ($director -eq 'メーカー:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] + $maker = ((($Webrequest.Content -split 'メーカー:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] $maker = Convert-HtmlCharacter -String $maker Write-Output $maker } @@ -165,11 +165,11 @@ function Get-DmmMaker { function Get-DmmLabel { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $label = ((($WebRequest.Content -split 'レーベル:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] + $label = ((($Webrequest.Content -split 'レーベル:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] $label = Convert-HtmlCharacter -String $label if ($label -eq 'シリーズ:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] + $series = ((($Webrequest.Content -split 'シリーズ:<\/td>')[1] -split '<\/a>')[0] -split '>')[2] $series = Convert-HtmlCharacter -String $series if ($series -eq '')[1] -split '<\/strong>')[0] -split '')[1] -split '点')[0] + $rating = (((($Webrequest.Content -split '

')[1] -split '<\/strong>')[0] -split '')[1] -split '点')[0] # Multiply the rating value by 2 to conform to 1-10 rating standard $integer = [int]$rating * 2 if ($integer -eq 0) { @@ -221,11 +221,11 @@ function Get-DmmRating { function Get-DmmRatingCount { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $ratingCount = (($WebRequest.Content -split '

')[1] -split '<\/p>')[0] + $ratingCount = (($Webrequest.Content -split '

')[1] -split '<\/p>')[0] $ratingCount = (($ratingCount -split '')[1] -split '<\/strong>')[0] Write-Output $ratingCount } @@ -234,12 +234,12 @@ function Get-DmmRatingCount { function Get-DmmActress { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $movieActressObject = @() - $actressHtml = ((($WebRequest.Content -split '出演者:<\/td>')[1] -split '<\/td>')[0] -split '')[1] + $actressHtml = ((($Webrequest.Content -split '出演者:<\/td>')[1] -split '<\/td>')[0] -split '')[1] $actressHtml = $actressHtml -replace '', '' $actressHtml = $actressHtml -split '<\/a>', '' @@ -247,7 +247,7 @@ function Get-DmmActress { foreach ($actress in $actressHtml) { $actress = Convert-HtmlCharacter -String $actress if ($actress -ne '') { - $movieActressObject += [pscustomobject]@{ + $movieActressObject += [PSCustomObject]@{ LastName = $null FirstName = $null JapaneseName = $actress -replace '<\/a>', '' @@ -266,12 +266,12 @@ function Get-DmmActress { function Get-DmmGenre { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $genreArray = @() - $genre = (((($WebRequest.Content -split 'ジャンル:<\/td>')[1] -split '<\/td>')[0] -split '')[1] -split '">') + $genre = (((($Webrequest.Content -split 'ジャンル:<\/td>')[1] -split '<\/td>')[0] -split '')[1] -split '">') $genre = ($genre -replace '<\/a>', '') -replace '  ', '' $genre = $genre -replace '')[1] -split '" target')[0] -split '')[1] -split '" target')[0] -split '品番<\/b>: (.*)
').Matches.Groups[1].Value -split '
')[0]).ToUpper() } catch { return @@ -57,12 +57,12 @@ function Get-Jav321Id { function Get-Jav321Title { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $title = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $title = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '

(.*) ').Matches.Groups[1].Value } catch { return @@ -76,12 +76,12 @@ function Get-Jav321Title { function Get-Jav321ReleaseDate { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $releaseDate = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $releaseDate = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '(.*)<\/b>: (\d{4}-\d{2}-\d{2})
').Matches.Groups[2].Value } catch { return @@ -94,12 +94,12 @@ function Get-Jav321ReleaseDate { function Get-Jav321ReleaseYear { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $releaseYear = Get-Jav321ReleaseDate -WebRequest $WebRequest + $releaseYear = Get-Jav321ReleaseDate -WebRequest $Webrequest $releaseYear = ($releaseYear -split '-')[0] } catch { return @@ -112,12 +112,12 @@ function Get-Jav321ReleaseYear { function Get-Jav321Runtime { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $length = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $length = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '(.*)<\/b>: (\d{1,3}) minutes
').Matches.Groups[2].Value } catch { return @@ -130,12 +130,12 @@ function Get-Jav321Runtime { function Get-Jav321Maker { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $maker = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $maker = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String 'メーカー<\/b>: (.*)>(.*)<\/a>
ジャンル').Matches.Groups[2].Value } catch { return @@ -149,14 +149,14 @@ function Get-Jav321Maker { function Get-Jav321Genre { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $genre = @() try { - $genre = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $genre = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '
(.*)<\/a> ').Matches.Groups[0] -split '<\/a>' | ForEach-Object { ($_ -split '>')[1] } } catch { @@ -170,25 +170,25 @@ function Get-Jav321Genre { function Get-Jav321Actress { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $actress = @() try { - $actress = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $actress = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '(.*)<\/a>によって行われる<\/div>').Matches | ForEach-Object { $_.Groups[3].Value } | Where-Object { $_ -ne '' } - $actressThumb = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $actressThumb = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '
').Matches.Groups[1].Value) + '.jpg' } catch { return @@ -221,20 +221,20 @@ function Get-Jav321CoverUrl { function Get-Jav321ScreenshotUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $screenshotUrl = @() try { - $screenshotUrl = (($WebRequest | ForEach-Object { $_ -split '\n' } | + $screenshotUrl = (($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String -Pattern '").Matches | ForEach-Object { $_.Groups[1].Value } } catch { try { - $screenshotUrl = (($WebRequest | ForEach-Object { $_ -split '\n' } | + $screenshotUrl = (($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String -Pattern '<\/a><\/p>').Matches | ForEach-Object { $_.Groups[1].Value } diff --git a/src/Javinizer/Public/Get-JavbusData.ps1 b/src/Javinizer/Public/Get-JavbusData.ps1 index b92ddbbf..0956665d 100644 --- a/src/Javinizer/Public/Get-JavbusData.ps1 +++ b/src/Javinizer/Public/Get-JavbusData.ps1 @@ -18,7 +18,7 @@ function Get-JavbusData { Write-JLog -Level Error -Message "Error [GET] on URL [$Url]: $PSItem" } - $movieDataObject = [pscustomobject]@{ + $movieDataObject = [PSCustomObject]@{ Source = if ($Language -eq 'en') { 'javbus' } elseif ($Language -eq 'ja') { 'javbusja' } elseif ($Language -eq 'zh') { 'javbuszh' } Url = $Url Id = Get-JavbusId -WebRequest $webRequest @@ -45,12 +45,12 @@ function Get-JavbusData { function Get-JavbusId { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $id = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $id = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '(.*?) (.*?) - JavBus<\/title>').Matches.Groups[1].Value } catch { return @@ -63,11 +63,11 @@ function Get-JavbusId { function Get-JavbusTitle { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $title = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $title = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '<title>(.*?) (.*?) - JavBus<\/title>').Matches.Groups[2].Value } catch { @@ -82,12 +82,12 @@ function Get-JavbusTitle { function Get-JavbusReleaseDate { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $releaseDate = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $releaseDate = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '<p><span class="header">(.*):<\/span> (\d{4}-\d{2}-\d{2})<\/p>').Matches.Groups[2].Value } catch { return @@ -100,12 +100,12 @@ function Get-JavbusReleaseDate { function Get-JavbusReleaseYear { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $releaseYear = Get-JavbusReleaseDate -WebRequest $WebRequest + $releaseYear = Get-JavbusReleaseDate -WebRequest $Webrequest $releaseYear = ($releaseYear -split '-')[0] } catch { return @@ -118,12 +118,12 @@ function Get-JavbusReleaseYear { function Get-JavbusRuntime { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $length = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $length = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '<p><span class="header">(.*):<\/span> (\d{1,3})(.*)<\/p>').Matches[1].Groups[2].Value } catch { return @@ -136,12 +136,12 @@ function Get-JavbusRuntime { function Get-JavbusDirector { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $director = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $director = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String -Pattern '<p><span class="header">(.*)<\/span> <a href="https:\/\/www\.javbus\.(com|org)\/(.*)\/director\/(.*)">(.*)<\/a><\/p>').Matches.Groups[5].Value } catch { return @@ -157,12 +157,12 @@ function Get-JavbusDirector { function Get-JavbusMaker { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $maker = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $maker = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '<p><span class="header">(.*)<\/span> <a href="https:\/\/www\.javbus\.(com|org)\/(.*)">(.*)<\/a>').Matches.Groups[4].Value } catch { return @@ -176,12 +176,12 @@ function Get-JavbusMaker { function Get-JavbusLabel { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $label = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $label = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String -Pattern '<p><span class="header">(.*)<\/span> <a href="https:\/\/www\.javbus\.(com|org)\/(.*)\/label\/(.*)">(.*)<\/a>').Matches.Groups[5].Value } catch { return @@ -195,12 +195,12 @@ function Get-JavbusLabel { function Get-JavbusSeries { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $series = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $series = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String -Pattern '<p><span class="header">(.*)<\/span> <a href="https:\/\/www.javbus.(com|org)/(.*)/series/(.*)">(.*)<\/a>').Matches.Groups[5].Value } catch { return @@ -214,7 +214,7 @@ function Get-JavbusSeries { function Get-JavbusRating { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { @@ -225,13 +225,13 @@ function Get-JavbusRating { function Get-JavbusGenre { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $genre = @() try { - $genre = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $genre = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String '<span class="genre"><a href="(.*)\/genre\/(.*)">(.*)<\/a><\/span>').Matches | ForEach-Object { $_.Groups[3].Value } } catch { @@ -245,7 +245,7 @@ function Get-JavbusGenre { function Get-JavbusActress { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { @@ -255,7 +255,7 @@ function Get-JavbusActress { try { try { - $actresses = ($WebRequest | Select-String -AllMatches -Pattern '<a href="https:\/\/www\.javbus\.com\/(?:.*)\/star\/(?:.*)"><img src="(.*)" title="(.*)"><\/a>').Matches + $actresses = ($Webrequest | Select-String -AllMatches -Pattern '<a href="https:\/\/www\.javbus\.com\/(?:.*)\/star\/(?:.*)"><img src="(.*)" title="(.*)"><\/a>').Matches } catch { return } @@ -268,7 +268,7 @@ function Get-JavbusActress { # Match if the name contains Japanese characters if ($actress.Groups[2].Value -match '[\u3040-\u309f]|[\u30a0-\u30ff]|[\uff66-\uff9f]|[\u4e00-\u9faf]') { - $movieActressObject += [pscustomobject]@{ + $movieActressObject += [PSCustomObject]@{ LastName = $null FirstName = $null JapaneseName = $actress.Groups[2].Value @@ -285,7 +285,7 @@ function Get-JavbusActress { $lastName = $textInfo.ToTitleCase($lastName.ToLower()) } - $movieActressObject += [pscustomobject]@{ + $movieActressObject += [PSCustomObject]@{ LastName = $lastName FirstName = $firstName JapaneseName = $null @@ -305,12 +305,12 @@ function Get-JavbusActress { function Get-JavbusCoverUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $coverUrl = ($WebRequest | ForEach-Object { $_ -split '\n' } | + $coverUrl = ($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String -Pattern "var img = '(.*)';").Matches.Groups[1].Value } catch { return @@ -323,14 +323,14 @@ function Get-JavbusCoverUrl { function Get-JavbusScreenshotUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $screenshotUrl = @() try { - $screenshotUrl = (($WebRequest | ForEach-Object { $_ -split '\n' } | + $screenshotUrl = (($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String -Pattern 'href="(https:\/\/images\.javbus\.(com|org)\/bigsample\/(.*))">') -split '<a class="sample-box"' | Select-String -Pattern '(https:\/\/images\.javbus\.(com|org)\/bigsample\/(.*).jpg)">').Matches | ForEach-Object { $_.Groups[1].Value } diff --git a/src/Javinizer/Public/Get-JavlibraryData.ps1 b/src/Javinizer/Public/Get-JavlibraryData.ps1 index f1f1a117..59c4a911 100644 --- a/src/Javinizer/Public/Get-JavlibraryData.ps1 +++ b/src/Javinizer/Public/Get-JavlibraryData.ps1 @@ -18,7 +18,7 @@ function Get-JavlibraryData { Write-JLog -Level Error -Message "Error [GET] on URL [$Url]: $PSItem" } - $movieDataObject = [pscustomobject]@{ + $movieDataObject = [PSCustomObject]@{ Source = if ($Language -eq 'en') { 'javlibrary' } elseif ($Language -eq 'ja') { 'javlibraryja' } elseif ($Language -eq 'zh') { 'javlibraryzh' } Url = $Url Id = Get-JavlibraryId -WebRequest $webRequest @@ -45,11 +45,11 @@ function Get-JavlibraryData { function Get-JavlibraryId { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $id = ((($WebRequest.Content -split '<div id="video_id" class="item">')[1] -split '<\/td>')[1] -split '>')[1] + $id = ((($Webrequest.Content -split '<div id="video_id" class="item">')[1] -split '<\/td>')[1] -split '>')[1] Write-Output $id } } @@ -57,12 +57,12 @@ function Get-JavlibraryId { function Get-JavlibraryAjaxId { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { try { - $ajaxId = ((($WebRequest | ForEach-Object { $_ -split '\n' } | + $ajaxId = ((($Webrequest | ForEach-Object { $_ -split '\n' } | Select-String 'var \$ajaxid = "(.*)";').Matches.Groups[1].Value)) } catch { return @@ -75,10 +75,10 @@ function Get-JavlibraryAjaxId { function Get-JavlibraryTitle { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $fullTitle = ((($WebRequest.Content -split '<title>')[1] -split ' - JAVLibrary<\/title>')[0] -split ' ') + $fullTitle = ((($Webrequest.Content -split '<title>')[1] -split ' - JAVLibrary<\/title>')[0] -split ' ') $joinedTitle = $fullTitle[1..$fullTitle.length] -join ' ' $title = Convert-HtmlCharacter -String $joinedTitle Write-Output $title @@ -88,11 +88,11 @@ function Get-JavlibraryTitle { function Get-JavlibraryReleaseDate { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $releaseDate = ((($WebRequest.Content -split '<div id="video_date" class="item">')[1] -split '<\/td>')[1] -split '>')[1] + $releaseDate = ((($Webrequest.Content -split '<div id="video_date" class="item">')[1] -split '<\/td>')[1] -split '>')[1] Write-Output $releaseDate } } @@ -100,11 +100,11 @@ function Get-JavlibraryReleaseDate { function Get-JavlibraryReleaseYear { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $releaseYear = Get-JavlibraryReleaseDate -WebRequest $WebRequest + $releaseYear = Get-JavlibraryReleaseDate -WebRequest $Webrequest $releaseYear = ($releaseYear -split '-')[0] Write-Output $releaseYear } @@ -113,11 +113,11 @@ function Get-JavlibraryReleaseYear { function Get-JavlibraryRuntime { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $length = ((($WebRequest.Content -split '<div id="video_length" class="item">')[1] -split '<\/span>')[0] -split '"text">')[1] + $length = ((($Webrequest.Content -split '<div id="video_length" class="item">')[1] -split '<\/span>')[0] -split '"text">')[1] Write-Output $length } } @@ -125,11 +125,11 @@ function Get-JavlibraryRuntime { function Get-JavlibraryDirector { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $director = ((($WebRequest.Content -split '<div id="video_director" class="item">')[1]) -split '<\/td>')[1] + $director = ((($Webrequest.Content -split '<div id="video_director" class="item">')[1]) -split '<\/td>')[1] if ($director -match '<\/a>') { $director = (($director -split 'rel="tag">')[1] -split '<\/a')[0] } else { @@ -144,11 +144,11 @@ function Get-JavlibraryDirector { function Get-JavlibraryMaker { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $maker = (((($WebRequest.Content -split '<div id="video_maker" class="item">')[1]) -split '<\/a>')[0] -split 'rel="tag">')[1] + $maker = (((($Webrequest.Content -split '<div id="video_maker" class="item">')[1]) -split '<\/a>')[0] -split 'rel="tag">')[1] $maker = Convert-HtmlCharacter -String $maker Write-Output $maker } @@ -157,11 +157,11 @@ function Get-JavlibraryMaker { function Get-JavlibraryLabel { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $label = (((($WebRequest.Content -split '<div id="video_label" class="item">')[1]) -split '<\/a>')[0] -split 'rel="tag">')[1] + $label = (((($Webrequest.Content -split '<div id="video_label" class="item">')[1]) -split '<\/a>')[0] -split 'rel="tag">')[1] $label = Convert-HtmlCharacter -String $label Write-Output $label } @@ -170,11 +170,11 @@ function Get-JavlibraryLabel { function Get-JavlibraryRating { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $rating = (((($WebRequest.Content -split '<div id="video_review" class="item">')[1]) -split '<\/span>')[0] -split '<span class="score">')[1] + $rating = (((($Webrequest.Content -split '<div id="video_review" class="item">')[1]) -split '<\/span>')[0] -split '<span class="score">')[1] $rating = ($rating -replace '\(', '') -replace '\)', '' Write-Output $rating } @@ -183,12 +183,12 @@ function Get-JavlibraryRating { function Get-JavlibraryGenre { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $genre = @() - $genreHtml = ($WebRequest.Content -split '<div id="video_genres" class="item">')[1] + $genreHtml = ($Webrequest.Content -split '<div id="video_genres" class="item">')[1] $genreHtml = ($genreHtml -split '<\/td>')[1] $genreHtml = $genreHtml -split 'rel="category tag">' @@ -209,21 +209,21 @@ function Get-JavlibraryGenre { function Get-JavlibraryActress { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $movieActressObject = @() try { - $movieActress = ($WebRequest.Content | Select-String -Pattern '<a href="vl_star\.php\?s=(?:.*)" rel="tag">(.*)<\/a><\/span>').Matches.Groups[1].Value + $movieActress = ($Webrequest.Content | Select-String -Pattern '<a href="vl_star\.php\?s=(?:.*)" rel="tag">(.*)<\/a><\/span>').Matches.Groups[1].Value } catch { return } foreach ($actress in $movieActress) { if ($actress -match '[\u3040-\u309f]|[\u30a0-\u30ff]|[\uff66-\uff9f]|[\u4e00-\u9faf]') { - $movieActressObject += [pscustomobject]@{ + $movieActressObject += [PSCustomObject]@{ LastName = $null FirstName = $null JapaneseName = $actress @@ -238,7 +238,7 @@ function Get-JavlibraryActress { $lastName = ($actress -split ' ')[0] $firstName = ($actress -split ' ')[1] } - $movieActressObject += [pscustomobject]@{ + $movieActressObject += [PSCustomObject]@{ LastName = $lastName FirstName = $firstName JapaneseName = $null @@ -254,11 +254,11 @@ function Get-JavlibraryActress { function Get-JavlibraryCoverUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $coverUrl = (($WebRequest.Content -split '<img id="video_jacket_img" src="')[1] -split '"')[0] + $coverUrl = (($Webrequest.Content -split '<img id="video_jacket_img" src="')[1] -split '"')[0] if ($coverUrl -like '*pixhost*') { $coverUrl = 'http:' + $coverUrl } else { @@ -271,12 +271,12 @@ function Get-JavlibraryCoverUrl { function Get-JavlibraryScreenshotUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $screenshotUrl = @() - $screenshotHtml = (($WebRequest.Content -split '<div class="previewthumbs" style="display:block; margin:10px auto;">')[1] -split '<\/div>')[0] + $screenshotHtml = (($Webrequest.Content -split '<div class="previewthumbs" style="display:block; margin:10px auto;">')[1] -split '<\/div>')[0] $screenshotHtml = $screenshotHtml -split '<img src="' foreach ($screenshot in $screenshotHtml) { if ($screenshot -ne '') { diff --git a/src/Javinizer/Public/Get-R18Data.ps1 b/src/Javinizer/Public/Get-R18Data.ps1 index 6a3af4ef..0ef381eb 100644 --- a/src/Javinizer/Public/Get-R18Data.ps1 +++ b/src/Javinizer/Public/Get-R18Data.ps1 @@ -66,7 +66,7 @@ function Get-R18Data { Write-JLog -Level Error -Message "Error [GET] on URL [$Url]: $PSItem" } - $movieDataObject = [pscustomobject]@{ + $movieDataObject = [PSCustomObject]@{ Source = if ($Language -eq 'en') { 'r18' } elseif ($Language -eq 'zh') { 'r18zh' } Url = $Url ContentId = Get-R18ContentId -WebRequest $webRequest @@ -96,11 +96,11 @@ function Get-R18Data { function Get-R18ContentId { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $contentId = (((($WebRequest.Content -split 'ID:<\/dt>')[1] -split '<br>')[0]) -split '<dd>')[1] + $contentId = (((($Webrequest.Content -split 'ID:<\/dt>')[1] -split '<br>')[0]) -split '<dd>')[1] $contentId = Convert-HtmlCharacter -String $contentId if ($contentId -eq '----') { @@ -114,11 +114,11 @@ function Get-R18ContentId { function Get-R18Id { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $id = (((($WebRequest.Content -split '<dt>DVD ID:<\/dt>')[1] -split '<br>')[0]) -split '<dd>')[1] + $id = (((($Webrequest.Content -split '<dt>DVD ID:<\/dt>')[1] -split '<br>')[0]) -split '<dd>')[1] $id = Convert-HtmlCharacter -String $id if ($id -eq '----') { @@ -132,13 +132,13 @@ function Get-R18Id { function Get-R18Title { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest, + [Object]$Webrequest, [Parameter()] - [object]$Replace + [Object]$Replace ) process { - $title = (($WebRequest.Content -split '<cite itemprop=\"name\">')[1] -split '<\/cite>')[0] + $title = (($Webrequest.Content -split '<cite itemprop=\"name\">')[1] -split '<\/cite>')[0] $title = Convert-HtmlCharacter -String $title if ($Replace) { foreach ($string in $Replace.GetEnumerator()) { @@ -154,12 +154,12 @@ function Get-R18Title { function Get-R18Description { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - if ($WebRequest.Content -match '<h1>Product Description<\/h1>') { - $description = ((($WebRequest.Content -split '<h1>Product Description<\/h1>')[1] -split '<p>')[1] -split '<\/p>')[0] + if ($Webrequest.Content -match '<h1>Product Description<\/h1>') { + $description = ((($Webrequest.Content -split '<h1>Product Description<\/h1>')[1] -split '<p>')[1] -split '<\/p>')[0] $description = Convert-HtmlCharacter -String $description } else { $description = $null @@ -172,11 +172,11 @@ function Get-R18Description { function Get-R18ReleaseDate { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $releaseDate = (($WebRequest.Content -split '<dd itemprop=\"dateCreated\">')[1] -split '<br>')[0] + $releaseDate = (($Webrequest.Content -split '<dd itemprop=\"dateCreated\">')[1] -split '<br>')[0] $releaseDate = ($releaseDate.Trim() -replace '\.', '') -replace ',', '' if ($releaseDate -match '/') { @@ -221,11 +221,11 @@ function Get-R18ReleaseDate { function Get-R18ReleaseYear { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $releaseYear = Get-R18ReleaseDate -WebRequest $WebRequest + $releaseYear = Get-R18ReleaseDate -WebRequest $Webrequest $releaseYear = ($releaseYear -split '-')[0] Write-Output $releaseYear } @@ -234,11 +234,11 @@ function Get-R18ReleaseYear { function Get-R18Runtime { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $length = (((($WebRequest.Content -split '<dd itemprop="duration">')[1] -split '<br>')[0] -split 'min')[0] -split '分鐘')[0] + $length = (((($Webrequest.Content -split '<dd itemprop="duration">')[1] -split '<br>')[0] -split 'min')[0] -split '分鐘')[0] $length = $length.Trim() Write-Output $length } @@ -247,11 +247,11 @@ function Get-R18Runtime { function Get-R18Director { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $director = (($WebRequest.Content -split '<dd itemprop="director">')[1] -split '<br>')[0] + $director = (($Webrequest.Content -split '<dd itemprop="director">')[1] -split '<br>')[0] $director = Convert-HtmlCharacter -String $director if ($director -eq '----') { @@ -264,11 +264,11 @@ function Get-R18Director { function Get-R18Maker { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $maker = ((($WebRequest.Content -split '<dd itemprop="productionCompany" itemscope itemtype="http:\/\/schema.org\/Organization\">')[1] -split '<\/a>')[0] -split '>')[1] + $maker = ((($Webrequest.Content -split '<dd itemprop="productionCompany" itemscope itemtype="http:\/\/schema.org\/Organization\">')[1] -split '<\/a>')[0] -split '>')[1] $maker = Convert-HtmlCharacter -String $maker if ($maker -eq '----') { @@ -282,11 +282,11 @@ function Get-R18Maker { function Get-R18Label { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $label = (((($WebRequest.Content -split '<dd itemprop="productionCompany" itemscope itemtype="http:\/\/schema.org\/Organization\">')[1] -split '<\/dl>')[0] -split '<dd>')[1] -split '<br>')[0] + $label = (((($Webrequest.Content -split '<dd itemprop="productionCompany" itemscope itemtype="http:\/\/schema.org\/Organization\">')[1] -split '<\/dl>')[0] -split '<dd>')[1] -split '<br>')[0] $label = Convert-HtmlCharacter -String $label if ($label -eq '----') { @@ -300,19 +300,19 @@ function Get-R18Label { function Get-R18Series { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest, + [Object]$Webrequest, [Parameter()] - [object]$Replace + [Object]$Replace ) process { - $series = ((($WebRequest.Content -split 'type=series')[1] -split '<\/a><br>')[0] -split '>')[1] + $series = ((($Webrequest.Content -split 'type=series')[1] -split '<\/a><br>')[0] -split '>')[1] if ($null -ne $series) { $series = Convert-HtmlCharacter -String $series | Out-Null $series = $series -replace '\n', ' ' -replace "`t", '' $lang = ((($Webrequest.Content -split '\n')[1] -split '"')[1] -split '"')[0] - $seriesUrl = ($WebRequest.links.href | Where-Object { $_ -like '*type=series*' }[0]) + '?lg=' + $lang + $seriesUrl = ($Webrequest.links.href | Where-Object { $_ -like '*type=series*' }[0]) + '?lg=' + $lang if ($series -like '*...') { try { @@ -342,7 +342,7 @@ function Get-R18Series { function Get-R18Rating { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { @@ -354,14 +354,14 @@ function Get-R18Rating { function Get-R18Genre { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest, + [Object]$Webrequest, [Parameter()] - [object]$Replace + [Object]$Replace ) process { $genreArray = @() - $genreHtml = ((($WebRequest.Content -split '<div class="pop-list">')[1] -split '<\/div>')[0] -split '<\/a>') -split '>' + $genreHtml = ((($Webrequest.Content -split '<div class="pop-list">')[1] -split '<\/div>')[0] -split '<\/a>') -split '>' foreach ($genre in $genreHtml) { $genre = $genre.trim() @@ -387,14 +387,14 @@ function Get-R18Genre { function Get-R18Actress { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $movieActressObject = @() try { - $movieActress = ($WebRequest.Content | Select-String -AllMatches -Pattern '<p><img alt="(.*)" src="https:\/\/pics\.r18\.com\/mono\/actjpgs\/(.*)" width="(?:.*)" height="(?:.*)"><\/p>').Matches + $movieActress = ($Webrequest.Content | Select-String -AllMatches -Pattern '<p><img alt="(.*)" src="https:\/\/pics\.r18\.com\/mono\/actjpgs\/(.*)" width="(?:.*)" height="(?:.*)"><\/p>').Matches } catch { return } @@ -410,14 +410,14 @@ function Get-R18Actress { # Match if the name contains Japanese characters if ($actressName -match '[\u3040-\u309f]|[\u30a0-\u30ff]|[\uff66-\uff9f]|[\u4e00-\u9faf]') { - $movieActressObject += [pscustomobject]@{ + $movieActressObject += [PSCustomObject]@{ LastName = $null FirstName = $null JapaneseName = $actressName ThumbUrl = $thumbUrl } } else { - $movieActressObject += [pscustomobject]@{ + $movieActressObject += [PSCustomObject]@{ LastName = ($actressName -split ' ')[1] FirstName = ($actressName -split ' ')[0] JapaneseName = $null @@ -433,11 +433,11 @@ function Get-R18Actress { function Get-R18CoverUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { - $coverUrl = (($WebRequest.Content -split '<div class="box01 mb10 detail-view detail-single-picture">')[1] -split '<\/div>')[0] + $coverUrl = (($Webrequest.Content -split '<div class="box01 mb10 detail-view detail-single-picture">')[1] -split '<\/div>')[0] $coverUrl = (($coverUrl -split 'src="')[1] -split '">')[0] Write-Output $coverUrl } @@ -446,12 +446,12 @@ function Get-R18CoverUrl { function Get-R18ScreenshotUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { $screenshotUrl = @() - $screenshotHtml = (($WebRequest.Content -split '<ul class="js-owl-carousel clearfix">')[1] -split '<\/ul>')[0] + $screenshotHtml = (($Webrequest.Content -split '<ul class="js-owl-carousel clearfix">')[1] -split '<\/ul>')[0] $screenshotHtml = $screenshotHtml -split '<li>' foreach ($screenshot in $screenshotHtml) { $screenshot = $screenshot -replace '<p><img class="lazyOwl" ', '' @@ -468,7 +468,7 @@ function Get-R18ScreenshotUrl { function Get-R18TrailerUrl { param ( [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)] - [object]$WebRequest + [Object]$Webrequest ) process { @@ -477,13 +477,21 @@ function Get-R18TrailerUrl { if ($trailerUrl[0] -eq '') { $trailerUrl = $null } else { - $trailerUrl = [pscustomobject]@{ - Low = (($WebRequest.Content -split 'data-video-low="')[1] -split '"')[0] - Med = (($WebRequest.Content -split 'data-video-med="')[1] -split '"')[0] - High = (($WebRequest.Content -split 'data-video-high="')[1] -split '"')[0] + $trailerUrlObject = [PSCustomObject]@{ + Low = (($Webrequest.Content -split 'data-video-low="')[1] -split '"')[0] + Med = (($Webrequest.Content -split 'data-video-med="')[1] -split '"')[0] + High = (($Webrequest.Content -split 'data-video-high="')[1] -split '"')[0] } } + if ($trailerUrlObject.High) { + $trailerUrl = $trailerUrlObject.High + } elseif ($trailerUrlObject.Med) { + $trailerUrl = $trailerUrlObject.Med + } else { + $trailerUrl = $trailerUrlObject.Low + } + Write-Output $trailerUrl } }