Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : (BASH) - Crawler IMDB-ID by Release-Name / Dirname xrel.to srrdb.com



syrius
06.07.2019, 11:58
Huhu,

hab heute meine beiden Funktionen zum Abgreifen der IMDB-ID von srrdb und xrel überarbeitet. Wer sich auskennt, erkennt, dass ich in jeder Funktion mehrere Möglichkeiten zum Abgreifen der IMDB-ID ausprogrammiert habe. Im Test von 1000 Releases, konnten 951 Stk. abgegriffen werden. Die 49 Stück waren weder auf XREL noch SRRDB gelistet oder es gab dafür keine IMDB-ID was mit imdb.com abgeglichen wurde und demnach korrekt ist.




agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30"
proxy=""

getimdb_srrdb() {
release="${1}"
if [ -z "${imdb_id}" ]; then
echo -e ":: Check srrdb.com"
echo -e ":: #1"
imdb_id_temp=`curl -sS ${proxy} -A "${agent}" -L "https://www.srrdb.com/api/imdb/${release}" | python -mjson.tool | egrep -i '"imdb":' | grep -m1 -oE "[0-9]{1,15}"`
if [ -n "${imdb_id_temp}" ]; then
imdb_id="tt${imdb_id_temp}"
fi

if [ -z "${imdb_id}" ]; then
echo -e ":: #2"
nfo_filename_temp=`curl -sS ${proxy} -A "${agent}" -L "https://www.srrdb.com/api/nfo/${release}" | python -mjson.tool | egrep '"http' | cut -d\" -f2`
if [ -n "${nfo_filename_temp}" ]; then
imdb_id=`curl -sS ${proxy} -A "${agent}" -L "${nfo_filename_temp}" | grep -m1 -oE "tt[0-9]{1,15}"`
fi

if [ -z "${imdb_id}" ]; then
echo -e ":: #3"
nfo_filename_temp=`curl -sS ${proxy} -A "${agent}" -L "https://www.srrdb.com/release/details/${release}" | grep "storedFile" | grep "icon-nfo" | sed 's/href="/\n/g' | grep "download" | cut -d\" -f1`
if [ -n "${nfo_filename_temp}" ]; then
curl -sS ${proxy} -A "${agent}" -L "https://www.srrdb.com${nfo_filename_temp}" > file.nfo
imdb_id=`tr '[\000-\011\013-\037\177-\377]' '.' < file.nfo | grep -m1 -oE "tt[0-9]{1,15}" | head -n1`
fi
fi
fi
fi
}


getimdb_xrel() {
release="${1}"
if [ -z "${imdb_id}" ]; then
echo -e ":: Check xrel.to"
echo -e ":: #1"
xrel_temp=`curl -sS ${proxy} -A "${agent}" -L "https://api.xrel.to/v2/search/releases.json?scene=true&p2p=true&q=${release}"`

if [ -n "${xrel_temp}" ]; then
echo "${xrel_temp}" > ${myhome}/asset/releases_json/${release}.json

imdb_id=`cat "${myhome}/asset/releases_json/${release}.json" | grep -m1 -oE "tt[0-9]{7,15}"`

if [ -z "${imdb_id}" ]; then
echo -e ":: #2"
id_imdb_temp=`cat "${myhome}/asset/releases_json/${release}.json" | grep "link_href" | cut -d\" -f4 | head -n1`
if [ -n "${id_imdb_temp}" ]; then
imdb_id=`curl -sS ${proxy} -A "${agent}" -L "${id_imdb_temp}" | grep -m1 -oE "tt[0-9]{1,15}"`
fi
fi
else
echo -e ":: Fehler... keine Info von XREL erhalten. Probiers gleich nochmal"
sleep 2s
getimdb_xrel
fi
sleep 5s
fi
}

Aufruf

getimdb_xrel "${release-dirname}"
getimdb_srrdb "${release-dirname}"

Ausgabe

echo "$imdb_id"

Pakete

apt install curl python

banane
06.07.2019, 22:18
scene=true&p2p=true

Keine Ahnung warum ich das vor ein paar Jahren so umständlich machte und P2P und Scene Teil jeweils extra abgefragt hatte. So ist es wohl um einiges einfacher
THX

banane
14.07.2019, 20:36
Ich habe die beiden functions mal ausprobieren wollen und in einem Script verarbeitet. Der Srr Teil funktioniert bei mir, bei xrel fehlt wohl ein benötigtes Java Paket.
Da ich mich mit Java so rein gar nicht auskenne, wollte ich fragen welches Paket installiert werden muss.
Der Fehlet taucht auf in der Zeile:

echo "${xrel_temp}" > ${myhome}/asset/releases_json/${release}.json
Die Fehlermeldung lautet:
/asset/releases_json/${Releasename}.json: Datei oder Verzeichnis nicht gefunden
(Natürlich steht dort der tatsächliche Releasename)
python-webassets scheints nicht zu sein, das habe ich testweise installiert.


EDIT:
Puhh, das ist wohl nur eine Pfadangabe die bei mir nicht vorhanden ist .... Sorry für die Anfrage.

.... Ja, jetzt klappts auch mit xrel. Ist mir echt peinlich das ich nicht erst genauer geschaut habe und dann erst geschrieben.