Ladda ner en massa PDFer "automatiskt"

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
FormerMazda
Inlägg: 6621
Blev medlem: 27 februari 2006, 14:59:36
Ort: Asby (Östergötland)

Ladda ner en massa PDFer "automatiskt"

Inlägg av FormerMazda »

Jag har hittat en guldgruva till min bil: https://vwts.ru/vw_passat8_3g.html#electro
Där finns en himla massa (alla?) reperationsmanualer till min bil, och dessa vill jag ladda ner.

Men utan att klicka på länkar, kan man på nåt vis browsea en site efter dess uppladdade PDFer?

Länken till en av PDFerna ser ut såhär: https://vwts.ru/vw/b8/vw-passat-b8-comp ... ns-eng.pdf
Men det öppnar inte PDFen, utan en sida där PDFen kan öppnas.
Fimpar man av själva PDFen kommer man bara till en index-sida: https://vwts.ru/vw/b8/

I sökandet upptäckte jag:
Om man går till (https://vwts.ru/vw/b8/vw-passat-b8-comp ... ns-eng.pdf)
Fimpar av till (https://vwts.ru/vw/b8/)
Och sen backar så laddas PDFen ner direkt.
- Detta kanske inte är till nytta, bara nåt jag märkte.

Nån som har en bra idé på hur man kan "browsea" en site?
Användarvisningsbild
Klas-Kenny
Inlägg: 12003
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av Klas-Kenny »

Några minuters resonerande med ChatGPT gav följande Powershell-script som verkar fungera:

Kod: Markera allt

# download-vwts-pdfs.ps1
param(
  [string]$Url = "https://vwts.ru/vw_passat8_3g.html#electro",
  [string]$OutDir = ".\vwts_pdfs",
  [int]$WaitSeconds = 6,
  [int]$MaxAttempts = 6
)

$ErrorActionPreference = "Stop"
New-Item -ItemType Directory -Force -Path $OutDir | Out-Null

$basePage = $Url.Split('#')[0]
$baseUri  = [Uri]$basePage

$ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120 Safari/537.36"
$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession

Write-Host "Hämtar: $basePage"
$page = Invoke-WebRequest -Uri $basePage -WebSession $session -Headers @{ "User-Agent" = $ua } -UseBasicParsing

# Plocka PDF-länkar
$pdfUrls = @()
if ($page.Links) {
  foreach ($l in $page.Links) {
    if ($l.href -and $l.href -match '\.pdf(\?|#|$)') {
      $pdfUrls += (New-Object System.Uri($baseUri, $l.href)).AbsoluteUri
    }
  }
} else {
  $matches = [regex]::Matches($page.Content, 'href\s*=\s*["'']([^"''>]+)["'']', 'IgnoreCase')
  foreach ($m in $matches) {
    $href = $m.Groups[1].Value
    if ($href -match '\.pdf(\?|#|$)') {
      $pdfUrls += (New-Object System.Uri($baseUri, $href)).AbsoluteUri
    }
  }
}
$pdfUrls = $pdfUrls | Sort-Object -Unique
if (-not $pdfUrls) { throw "Hittade inga PDF-länkar." }

function Test-IsPdfFile([string]$path) {
  if (-not (Test-Path $path)) { return $false }
  $bytes = Get-Content -Path $path -Encoding Byte -TotalCount 4
  return ($bytes.Count -eq 4 -and $bytes[0] -eq 0x25 -and $bytes[1] -eq 0x50 -and $bytes[2] -eq 0x44 -and $bytes[3] -eq 0x46)
}

$headers = @{
  "User-Agent" = $ua
  "Referer"    = $basePage
  "Accept"     = "application/pdf,application/octet-stream,*/*;q=0.8"
}

$logPath = Join-Path $OutDir "_download_log.txt"
"" | Out-File -Encoding UTF8 $logPath

$i = 0
foreach ($pdfUrl in $pdfUrls) {
  $i++
  $name = [IO.Path]::GetFileName(([Uri]$pdfUrl).AbsolutePath)
  if ([string]::IsNullOrWhiteSpace($name)) { $name = "file_$i.pdf" }
  foreach ($c in [IO.Path]::GetInvalidFileNameChars()) { $name = $name.Replace($c, '_') }

  $outFile = Join-Path $OutDir $name
  if (Test-Path $outFile) {
    Write-Host "[$i/$($pdfUrls.Count)] Finns redan, hoppar: $name"
    continue
  }

  Write-Host "[$i/$($pdfUrls.Count)] $pdfUrl"

  $ok = $false
  for ($attempt = 1; $attempt -le $MaxAttempts; $attempt++) {
    try {
      # 1) Besök länken för att trigga gate/cookies
      $resp = Invoke-WebRequest -Uri $pdfUrl -WebSession $session -Headers $headers -UseBasicParsing -MaximumRedirection 10
      $ct = $resp.Headers["Content-Type"]

      # 2) Om PDF: ladda ner binärt
      if ($ct -match 'application/pdf') {
        Invoke-WebRequest -Uri $pdfUrl -WebSession $session -Headers $headers -UseBasicParsing -MaximumRedirection 10 -OutFile $outFile

        if (Test-IsPdfFile $outFile) {
          $ok = $true
          ("OK`tAttempt=$attempt`t$pdfUrl`t-> $outFile") | Out-File -Append -Encoding UTF8 $logPath
          break
        } else {
          # Något gick snett: ta bort filen så den inte ligger kvar
          Remove-Item -Force $outFile -ErrorAction SilentlyContinue
        }
      }

      # Inte PDF ännu: vänta och försök igen
      ("WAIT`tAttempt=$attempt`tCT=$ct`t$pdfUrl") | Out-File -Append -Encoding UTF8 $logPath
      Start-Sleep -Seconds $WaitSeconds
    }
    catch {
      ("ERROR`tAttempt=$attempt`t$($_.Exception.Message)`t$pdfUrl") | Out-File -Append -Encoding UTF8 $logPath
      Start-Sleep -Seconds $WaitSeconds
    }
  }

  if (-not $ok) {
    Write-Warning "Misslyckades efter $MaxAttempts försök: $pdfUrl"
  }
}

Write-Host "Klart. Logg: $logPath"
Spara det som downloadPdf.ps1 och kör ifrån PowerShell i samma mapp:

Kod: Markera allt

powershell -ExecutionPolicy Bypass -File .\downloadPdf.ps1
Tar lite tid då sidan skyddar sig mot just sånt här, genom att man måste vänta i några sekunder innan filen går att ladda ner. Men det löser scriptet åt en..

(Obs, tar inget ansvar för ovan, det är vad ChatGPT lyckades generera och det verkar fungera vid en snabb test. :) )
Användarvisningsbild
pi314
Inlägg: 8373
Blev medlem: 23 oktober 2021, 19:22:37
Ort: 08

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av pi314 »

wget
Med wget kan man väl bl.a. dra ner alla pdf-er från en sajt.

wget:
https://www.gnu.org/software/wget/

Finns till Mac och Linux. Kanske även Windows?

Kanske:

Kod: Markera allt

wget -r -l4 --no-check-certificate -A pdf https://vwts.ru/vw_passat8_3g.html
Användarvisningsbild
Glenn
Inlägg: 37847
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av Glenn »

Borde räcka med en enkel wget-rad, rekursivt och max 1 level, då får du kanske med en del html-junk också men det är ju bara att radera.
Användarvisningsbild
Klas-Kenny
Inlägg: 12003
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av Klas-Kenny »

Problemet är just det att sidan skyddar sig mot robotnednaddningar genom att man måste klicka på en länk, vänta några sekunder, sen fungerar samma länk för att ladda ned PDF'en.

Tror inte man kommer runt det med bara en enda wget. Då får man förmodligen vad mina ChatGPT-resultat började med, en hög med små HTML-filer som har .pdf som filändelse, och bara innehåller ungefär "vänta i fem sekunder"...
Användarvisningsbild
pi314
Inlägg: 8373
Blev medlem: 23 oktober 2021, 19:22:37
Ort: 08

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av pi314 »

Klas-Kenny:

Korrekt. wget fungerar inte på den här sajten. Jag testade...

Användarvisningsbild
FormerMazda
Inlägg: 6621
Blev medlem: 27 februari 2006, 14:59:36
Ort: Asby (Östergötland)

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av FormerMazda »

Klas-Kenny skrev: 20 januari 2026, 07:53:19 Några minuters resonerande med ChatGPT gav följande Powershell-script som verkar fungera:


Tar lite tid då sidan skyddar sig mot just sånt här, genom att man måste vänta i några sekunder innan filen går att ladda ner. Men det löser scriptet åt en..

(Obs, tar inget ansvar för ovan, det är vad ChatGPT lyckades generera och det verkar fungera vid en snabb test. :) )
Ja men sakta men säkert så trillar PDFerna ner. :)
Så än verkar det funka finfint.

Jag fick sätta en policy att tillåta scriptkörning.
Så för den som vill testa själv:

Skapa en PS1 med Klas-Kennys sript.
Starta PS som admin.
Kör "Set-ExecutionPolicy RemoteSigned"
Kör sen scriptet ".\scriptnamn.PS1"

Just nu 8 av 51 PDFer nere, över 50MB.
Användarvisningsbild
FormerMazda
Inlägg: 6621
Blev medlem: 27 februari 2006, 14:59:36
Ort: Asby (Östergötland)

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av FormerMazda »

Glömde: Stort tack! :D
Användarvisningsbild
FormerMazda
Inlägg: 6621
Blev medlem: 27 februari 2006, 14:59:36
Ort: Asby (Östergötland)

Re: Ladda ner en massa PDFer "automatiskt"

Inlägg av FormerMazda »

Och där var alla PDFer nere!
Alla 51st 358MB.

Så, verifierat fungerande! :)

Scriptet skapade en logfil:

Kod: Markera allt


WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/cooling/webasto-thermo-top-evo-ustanovka-na-mqb-rus.pdf
OK	Attempt=2	https://vwts.ru/cooling/webasto-thermo-top-evo-ustanovka-na-mqb-rus.pdf	-> .\vwts_pdfs\webasto-thermo-top-evo-ustanovka-na-mqb-rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/electro/audio/composition-media-discover-media-generation-2gp-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/electro/audio/composition-media-discover-media-generation-2gp-manual-eng.pdf	-> .\vwts_pdfs\composition-media-discover-media-generation-2gp-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/czca-czea-cwva-chzd-czda-fuel-supply-system-petrol-engines-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/czca-czea-cwva-chzd-czda-fuel-supply-system-petrol-engines-eng.pdf	-> .\vwts_pdfs\czca-czea-cwva-chzd-czda-fuel-supply-system-petrol-engines-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/engine-chha-chhb-cnta-cjsa-cjsc-cjsb-cjxa-deda-cjxe-cxda-cxdb-dlba-djhc-dhga-cntc-dlrb-cjxh-dkta-dktb-dnua-dnuc-repair-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/engine-chha-chhb-cnta-cjsa-cjsc-cjsb-cjxa-deda-cjxe-cxda-cxdb-dlba-djhc-dhga-cntc-dlrb-cjxh-dkta-dktb-dnua-dnuc-repair-manual-eng.pdf	-> .\vwts_pdfs\engine-chha-chhb-cnta-cjsa-cjsc-cjsb-cjxa-deda-cjxe-cxda-cxdb-dlba-djhc-dhga-cntc-dlrb-cjxh-dkta-dktb-dnua-dnuc-repair-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/engine-cuaa-repair-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/engine-cuaa-repair-manual-eng.pdf	-> .\vwts_pdfs\engine-cuaa-repair-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/engine-daca-dada-dacb-dpba-dpbe-dpca-1-5-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/engine-daca-dada-dacb-dpba-dpbe-dpca-1-5-eng.pdf	-> .\vwts_pdfs\engine-daca-dada-dacb-dpba-dpbe-dpca-1-5-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/engine-daca-dada-dacb-dpba-dpbe-dpca-dfya-repair-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/engine-daca-dada-dacb-dpba-dpbe-dpca-dfya-repair-manual-eng.pdf	-> .\vwts_pdfs\engine-daca-dada-dacb-dpba-dpbe-dpca-dfya-repair-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/engine-dnpa-dnfc-dnfe-dnfg-dnna-dsfe-drna-dnnd-dsfb-dsff-repair-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/engine-dnpa-dnfc-dnfe-dnfg-dnna-dsfe-drna-dnnd-dsfb-dsff-repair-manual-eng.pdf	-> .\vwts_pdfs\engine-dnpa-dnfc-dnfe-dnfg-dnna-dsfe-drna-dnnd-dsfb-dsff-repair-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/engine-dsff-dsfb-dsfe-dnne-dnpd-drna-dnnd-dnna-dnpa-dnpb-dnfc-dnfg-dnfe-dnff-repair-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/engine-dsff-dsfb-dsfe-dnne-dnpd-drna-dnnd-dnna-dnpa-dnpb-dnfc-dnfg-dnfe-dnff-repair-manual-eng.pdf	-> .\vwts_pdfs\engine-dsff-dsfb-dsfe-dnne-dnpd-drna-dnnd-dnna-dnpa-dnpb-dnfc-dnfg-dnfe-dnff-repair-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/engine-dxpb-dttc-dtta-dxpa-dxnb-dsrb-dsra-dtrc-dtrb-dtra-dsud-dtrd-dtua-dtsa-dtsb-repair-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/engine-dxpb-dttc-dtta-dxpa-dxnb-dsrb-dsra-dtrc-dtrb-dtra-dsud-dtrd-dtua-dtsa-dtsb-repair-manual-eng.pdf	-> .\vwts_pdfs\engine-dxpb-dttc-dtta-dxpa-dxnb-dsrb-dsra-dtrc-dtrb-dtra-dsud-dtrd-dtua-dtsa-dtsb-repair-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/engine/high-voltage-system-eng.pdf
OK	Attempt=2	https://vwts.ru/engine/high-voltage-system-eng.pdf	-> .\vwts_pdfs\high-voltage-system-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_522_dvig_2l_162_169_kvt_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_522_dvig_2l_162_169_kvt_rus.pdf	-> .\vwts_pdfs\pps_522_dvig_2l_162_169_kvt_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_542_passat_2015_vved_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_542_passat_2015_vved_rus.pdf	-> .\vwts_pdfs\pps_542_passat_2015_vved_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_543_passat_2015_vspom_syst_vod_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_543_passat_2015_vspom_syst_vod_rus.pdf	-> .\vwts_pdfs\pps_543_passat_2015_vspom_syst_vod_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_544_passat_2015_body_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_544_passat_2015_body_rus.pdf	-> .\vwts_pdfs\pps_544_passat_2015_body_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_545_passat_2015_electro_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_545_passat_2015_electro_rus.pdf	-> .\vwts_pdfs\pps_545_passat_2015_electro_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_546_passat_2015_infotainment_car-net_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_546_passat_2015_infotainment_car-net_rus.pdf	-> .\vwts_pdfs\pps_546_passat_2015_infotainment_car-net_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_547_dvig_2_0_tdi_biturbo_ea288_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_547_dvig_2_0_tdi_biturbo_ea288_rus.pdf	-> .\vwts_pdfs\pps_547_dvig_2_0_tdi_biturbo_ea288_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_550_passat_gte_vvedenie_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_550_passat_gte_vvedenie_rus.pdf	-> .\vwts_pdfs\pps_550_passat_gte_vvedenie_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_556_dsg7_0gc_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_556_dsg7_0gc_rus.pdf	-> .\vwts_pdfs\pps_556_dsg7_0gc_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_606_dvig_audi_tfsi_18_20_ea888_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_606_dvig_audi_tfsi_18_20_ea888_rus.pdf	-> .\vwts_pdfs\pps_606_dvig_audi_tfsi_18_20_ea888_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_608_audi_4-cyl_dvig_tdi_1_6_2_0_rus.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_608_audi_4-cyl_dvig_tdi_1_6_2_0_rus.pdf	-> .\vwts_pdfs\pps_608_audi_4-cyl_dvig_tdi_1_6_2_0_rus.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/pps/pps_728-travel-assist-eng.pdf
OK	Attempt=2	https://vwts.ru/pps/pps_728-travel-assist-eng.pdf	-> .\vwts_pdfs\pps_728-travel-assist-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/trans/0c9/6-speed-manual-gearbox-0c9-removed-eng.pdf
OK	Attempt=2	https://vwts.ru/trans/0c9/6-speed-manual-gearbox-0c9-removed-eng.pdf	-> .\vwts_pdfs\6-speed-manual-gearbox-0c9-removed-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/trans/0d9/6-speed-dsg-0d9-repair-manual-eng.pdf
OK	Attempt=2	https://vwts.ru/trans/0d9/6-speed-dsg-0d9-repair-manual-eng.pdf	-> .\vwts_pdfs\6-speed-dsg-0d9-repair-manual-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/trans/0dd/6-speed-dual-clutch-gearbox-0DD-hybrid-eng.pdf
OK	Attempt=2	https://vwts.ru/trans/0dd/6-speed-dual-clutch-gearbox-0DD-hybrid-eng.pdf	-> .\vwts_pdfs\6-speed-dual-clutch-gearbox-0DD-hybrid-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/trans/0dl/7-speed-dsg-0dl-eng.pdf
OK	Attempt=2	https://vwts.ru/trans/0dl/7-speed-dsg-0dl-eng.pdf	-> .\vwts_pdfs\7-speed-dsg-0dl-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-2019-component-locations-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-2019-component-locations-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-2019-component-locations-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-2019-electrical-system-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-2019-electrical-system-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-2019-electrical-system-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-2019-wiring-diagrams-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-2019-wiring-diagrams-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-2019-wiring-diagrams-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-arteon-brake-system-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-arteon-brake-system-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-arteon-brake-system-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-arteon-running-gear-axles-steering-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-arteon-running-gear-axles-steering-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-arteon-running-gear-axles-steering-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-auxiliary-heater-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-auxiliary-heater-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-auxiliary-heater-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-body-repairs-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-body-repairs-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-body-repairs-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-body-repairs-exterior-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-body-repairs-exterior-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-body-repairs-exterior-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-body-repairs-interior-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-body-repairs-interior-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-body-repairs-interior-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-communication-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-communication-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-communication-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-component-locations-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-component-locations-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-component-locations-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-driver-assist-systems-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-driver-assist-systems-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-driver-assist-systems-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-electrical-system-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-electrical-system-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-electrical-system-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-fuel-system-hybrid-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-fuel-system-hybrid-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-fuel-system-hybrid-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-heating-air-conditioner-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-heating-air-conditioner-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-heating-air-conditioner-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-maintenance-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-maintenance-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-maintenance-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-var-body-repairs-exterior-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-var-body-repairs-exterior-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-var-body-repairs-exterior-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-wheels-tyres-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-wheels-tyres-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-wheels-tyres-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/b8/vw-passat-b8-wiring-diagrams-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/b8/vw-passat-b8-wiring-diagrams-eng.pdf	-> .\vwts_pdfs\vw-passat-b8-wiring-diagrams-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/tiguan2/vw-tiguan-2-fuel-system-diesel-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/tiguan2/vw-tiguan-2-fuel-system-diesel-eng.pdf	-> .\vwts_pdfs\vw-tiguan-2-fuel-system-diesel-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/tiguan2/vw-tiguan-2-fuel-system-petrol-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/tiguan2/vw-tiguan-2-fuel-system-petrol-eng.pdf	-> .\vwts_pdfs\vw-tiguan-2-fuel-system-petrol-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/tiguan3/vw-tiguan-3-6-speed-dual-clutch-gearbox-0dd-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/tiguan3/vw-tiguan-3-6-speed-dual-clutch-gearbox-0dd-eng.pdf	-> .\vwts_pdfs\vw-tiguan-3-6-speed-dual-clutch-gearbox-0dd-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/tiguan3/vw-tiguan-3-7-speed-dual-clutch-gearbox-0cw-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/tiguan3/vw-tiguan-3-7-speed-dual-clutch-gearbox-0cw-eng.pdf	-> .\vwts_pdfs\vw-tiguan-3-7-speed-dual-clutch-gearbox-0cw-eng.pdf
WAIT	Attempt=1	CT=text/html; charset=utf-8	https://vwts.ru/vw/tiguan3/vw-tiguan-3-7-speed-dual-clutch-gearbox-0gc-eng.pdf
OK	Attempt=2	https://vwts.ru/vw/tiguan3/vw-tiguan-3-7-speed-dual-clutch-gearbox-0gc-eng.pdf	-> .\vwts_pdfs\vw-tiguan-3-7-speed-dual-clutch-gearbox-0gc-eng.pdf

Skriv svar