Ladda ner alla torrent-filer från TPB

I dag blir det ingen guide, utan mer en fråga. Efter att ha läst det här började jag fundera. Hur gör man för att ladda hem alla torrent-filer från TPB? Om man hade en lista över alla URL:er, skulle det vara trivialt. Hur får man då en lista över alla URL:er till alla torrent-filer på TPB? Min första tanke var att hämta alla länkar som man får via länken "Bläddra bland torrenter" på TPB. Jag skrev då ett skript som hämtar alla sådana länkar:

#!/bin/bash
it=100
while [[ $it -lt 700 ]]; do
 
i=0
    while [[ $i -lt 100  ]] ; do
      xmlstarlet sel --net --html -T -t -m "//*[local-name()='a']" -o 'NAME: ' -v "translate(. , '
', ' ')" -n -o 'LINK: ' -v @href -n -n
      "http://thepiratebay.org/browse/$it/$i/3" | grep torrent | grep -v phpAdsNew | sed -e 's|LINK: /|http://thepiratebay.org/|g'
      -e 's|LINK: http://|http://|g' | grep ".TPB.torrent" >> tpb.links
      let "i=i+1"
      sleep 1s
  done
  let "it=it+100"
done

Tyvärr verkar inte detta funka, det verkar som om TPB har lagt upp en begränsning som gör att man bara får hämta 100 sidor med 30 länkar vardera från varje kategori (därav begränsningarna i while-looparna i skriptet), det innebär i praktiken att jag bara får 17970 länkar totalt tillbaka från skriptet. Bry er för övrigt inte så mycket om själva skriptet, det är ett ful-hack med massa cruft, eftersom jag bara ville kolla lite snabbt hur man kan göra.

Så finns det någon som är bättre än mig på TPB som vet hur man kan göra får att få tag på fler resultat? Svara gärna i kommentarerna om ni kommer på nått.

Se även:

Läs även andra bloggar om , ,

2 kommentarer

  1. Går det bara att hämta 100 sidor i en viss ording, dvs. 0-100 eller kan du hämta 105-205 om du vill?

    I så fall skulle du kunna ha en funktion som hämtar i en egen loop och tar emot en offset parameter.

    getLinks(0) // hämtar 0-100 och när den är klar –>
    getLinks(100) // hämtar 100-200 osv.

    getLinks() i sin tur innehåller din while-loop.

    Jag kan inget om bash så jag vet inte om de går att göra något liknande.

    /Sean

Lämna ett svar till Sean Avbryt svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*

Switch to our mobile site

Page optimized by WP Minify WordPress Plugin