JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 06.05.2023, 00:46
Mathamphetematiker Mathamphetematiker is offline
Baby Loader
 
Join Date: May 2023
Posts: 6
Default [LinkCrawler Regel] Plugin für fotocommunity.de

Guten abend,

Könnte jemand bitte ein plugin für die seite fotocommunity.de erstellen?
Die seite ist ziemlich populär und aktiv, es befinden sich über 15 millionen größtenteils äußerst hochwertige bilder in der galerie und es sollte ziemlich einfach sein, unter links die immer im folgenden format sind:

**External links are only visible to Support Staff****External links are only visible to Support Staff**

...findet sich genau ein bild mit variabler breite aber immer 1080 pixel hoch.
Jedoch ist der rechtsklick gesperrt, das bild lässt sich lediglich im vollbildmodus auf die originalgröße zoomen.

Jdownloader erkennt mit der zwischenablage-überwachung links im oberen format normal nicht, tiefen scan jedoch viel zu viel, aufgrund cryptischer dateinamen nicht praktikabel.

Markiert man jedoch mit der maus das bild und übernimmt per strg c in die zwischenablage, wird ausschließlich das gewünschte bild in den linksammler aufgenommen, jedoch auch mit cryptischem dateinamen.

Ideal wäre es also aus links im oberen format jeweils nur das gewünschte bild zu übernehmen und als dateinamen entweder den teil vor dem vorletzten slash / zu übernehmen, im beispiel link wäre das also:

..../zwei-jackies/....

...da dies der titel des bildes zusammen mit dem fotograf ist und so evtl probleme mit leer- oder sonderzeichen vermieden werden und das bild leicht identifizierbar ist.
Wenn das nicht möglich ist wäre die zweite präferenz einfach der titel des bildes, der leider oft eher nichtssagend ist.


Ihr würdet mir sehr helfen, ich bedanke mich schonmal im vorraus für das nicht selbstverständliche engagement.

Schönes wochenende!

Last edited by Mathamphetematiker; 06.05.2023 at 00:53.
Reply With Quote
  #2  
Old 08.05.2023, 13:16
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,734
Default

Sers,
es handelt sich um eine simple Webseite und eine LinkCrawler Regel reicht aus, um beim Kopieren/Hinzufügen von Einzelbilderlinks genau den einen 1080p Link zu finden.

Bitte lies den Artikel und gib bescheid, falls du Hilfe dabei brauchst.

Grüße, psp
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #3  
Old 09.05.2023, 19:25
Mathamphetematiker Mathamphetematiker is offline
Baby Loader
 
Join Date: May 2023
Posts: 6
Default

Obwohl meine Ausbildung schon 6 Jahre her ist, und ich da nichmal explizit reguläre Ausdrücke gelernt hab, hab ich es ganz alleine geschafft (nachdem ich schon zweimal dabei war hier nach Hilfe zu fragen^^). Es war ein bisschen tricky, weil beim deep scan zunächst das 1080px bild überhaupt nicht gefunden wird, sondern nur adressen mit den endungen width=1000 oder height=1000, aber das konnte man einfach mit der rewrite funktion ändern.

Danke für die schnelle Antwort und den Raum zum selber-lernen^^, hier ist noch die Regel falls du was siehst was man besser machen kann:

Code:
{
"name"					: "DEEPDECRYPT fotocommunity.de",
"rule"					: "DEEPDECRYPT",
"enabled"				: true,
"logging"				: false,
"maxDecryptDepth"		: 1,
"pattern"				: "**External links are only visible to Support Staff**,
"deepPattern"			: "(**External links are only visible to Support Staff**,
"packageNamePattern"	: "<a href=\"/photo/([A-Za-z0-9]+(-[A-Za-z0-9]+)+)/[0-9]+\">"
},
{
"name"					: "REWRITE fotocommunity.de",
"rule"					: "REWRITE",
"enabled"				: true,
"pattern"				: "(**External links are only visible to Support Staff**,
"rewriteReplaceWith"	: "$1height=1080"
}
und ich wollte noch eine Seite empfehlen die für reguläre Ausdrücke sehr praktisch ist um sehr, sehr schnell ein Ergebniss zu erzielen ohne lange lesen zu müssen:

regex-generator.olafneumann.org

und noch darauf hinweisen, dass auf der Seite zum Überprüfen regulärer Ausdrücke, die in der Knowledgebase verlinkt ist, mit dem Hinweis man solle Java 8 auswählen, trotzdem z.B. Punkte "." nur richtig erkannt werden wenn sie mit einem Backslash "" maskiert werden obwohl sie in den Linkcrawler-Regeln mit zwei "" maskiert werden müssen, das kann sehr verwirrend sein wenn man sich damit überhaupt nicht auskennt:

**External links are only visible to Support Staff****External links are only visible to Support Staff**


EDIT:
hab gerade gemerkt dass

Code:
"packageNamePattern"	: "<a href="/photo/([A-Za-z0-9]+(-[A-Za-z0-9]+)+)/[0-9]+">"
nicht ganz eindeutig ist, und ab und zu falsche Namen ausgibt. Ich versuch mich weiterhin selbst dran, aber ich hab da schon einen großteil des HTML codes durchgeschaut, falls du das auf die schnelle lösen kannst, hier nochmal was ich versucht hab:

von einer Adresse, z.B.

**External links are only visible to Support Staff****External links are only visible to Support Staff**

den Teil "zwei-jackies" als Packet Name, das ist der Titel des bildes und der Name des Fotografen.


EDIT2:

Ich hab es noch mit

Code:
"packageNamePattern"	: "<meta property=\"og:url\" content=\"**External links are only visible to Support Staff**>"
versucht, aber das erkennt er wieder nicht, obwohl die regulären Ausdrücke genauso wie beim "<a href..." Feld sind. Ein anderes Feld hab ich nicht gefunden :(.
__________________
Wo gezogen wird, wird auch geschoben.

Last edited by pspzockerscene; 10.05.2023 at 11:39. Reason: regex-generator.olafneumann.org Link öffentlich sichtbar gemacht
Reply With Quote
  #4  
Old 10.05.2023, 11:48
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,734
Default

Quote:
Originally Posted by Mathamphetematiker View Post
Danke für die schnelle Antwort und den Raum zum selber-lernen^^, hier ist noch die Regel falls du was siehst was man besser machen kann:
Nice!
Ich hätte die Ausdrücke für die URLs noch generischer gestaltet also auch "**External links are only visible to Support Staff** und ohne "www." erlaubt, aber höchstwahrscheinlich wirst du das nicht benötigen.

Quote:
Originally Posted by Mathamphetematiker View Post
und ich wollte noch eine Seite empfehlen die für reguläre Ausdrücke sehr praktisch ist um sehr, sehr schnell ein Ergebniss zu erzielen ohne lange lesen zu müssen:

regex-generator.olafneumann.org
Danke das Webtool sieht auch richtig praktisch aus!
Ich werde es jedoch erstmal nicht in den Supportartikeln verlinken, da wir regex101.com an vielen Stellen verlinkt haben.

Quote:
Originally Posted by Mathamphetematiker View Post
und noch darauf hinweisen, dass auf der Seite zum Überprüfen regulärer Ausdrücke, die in der Knowledgebase verlinkt ist, mit dem Hinweis man solle Java 8 auswählen, trotzdem z.B. Punkte "." nur richtig erkannt werden wenn sie mit einem Backslash "" maskiert werden obwohl sie in den Linkcrawler-Regeln mit zwei "" maskiert werden müssen, das kann sehr verwirrend sein wenn man sich damit überhaupt nicht auskennt:
Da hast du etwas falsch verstanden:
Es mag zwar sein, dass andere Webtools den Doppelbackslash akzeptieren, aber theoretisch ist der hier korrekt. Erklärung: Im json nimmst du Backslash üblicherweise, wenn du ein Anführungszeichen schreiben willst also auch zum Escapen. Beispiel:
Code:
{
  "testKey": "gueltiges json mit \"anfuehrungszeichen\""
}
Das hier würde nicht gehen
Code:
{
  "testKey": "ungueltiges json mit "anfuehrungszeichen" "
}
Genausowenig wie:
Code:
{
  "testKey": "Ungueltiges json: Punkt in json mit nur einem Backslash escapen geht nicht: \."
}
-> Mit dem Doppelbackslash escapest du das Escape-zeichen.
Es kann also sein, dass dein Webtool das erkennt und korrigiert.

Quote:
Originally Posted by Mathamphetematiker View Post
EDIT2:

Ich hab es noch mit
...
versucht, aber das erkennt er wieder nicht, obwohl die regulären Ausdrücke genauso wie beim "<a href..." Feld sind. Ein anderes Feld hab ich nicht gefunden :(.
Dazu poste ich gleich noch eine Antwort.
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #5  
Old 10.05.2023, 12:00
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,734
Default

Ich hab die Regel mal so angepasst, wie sie bei mir funktioniert.
Die Anpassung des regulären Ausdruckes für den Paketnamen war die einzig notwendige.
Regel:
Code:
[
  {
    "name": "DEEPDECRYPT fotocommunity.de",
    "rule": "DEEPDECRYPT",
    "enabled": true,
    "logging": false,
    "maxDecryptDepth": 1,
    "pattern": "https?://(www\\.)?fotocommunity\\.de/photo/([A-Za-z-]+)/[A-Za-z0-9]+",
    "deepPattern": "(https?://img\\.fotocommunity\\.com/[A-Za-z0-9-]+\\.jpg\\?[A-Za-z]+=1000)",
    "packageNamePattern": "<meta property=\"og:url\" content=\"https?://(?:www\\.)?fotocommunity\\.de/photo/([^/]+)/[0-9]+\"\\s*>"
  },
  {
    "name": "REWRITE fotocommunity.de",
    "rule": "REWRITE",
    "enabled": true,
    "pattern": "(https?://img\\.fotocommunity\\.com/([A-Za-z0-9-]+)\\.jpg\\?)[A-Za-z]+=1000",
    "rewriteReplaceWith": "$1height=1080"
  }
]
Auf pastebin zum einfacheren Kopieren:
pastebin.com/raw/ENuhCmZs

EDIT

Bei Fragen fragen!
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #6  
Old 11.05.2023, 04:28
Mathamphetematiker Mathamphetematiker is offline
Baby Loader
 
Join Date: May 2023
Posts: 6
Thumbs up erledigt

Guten Morgen,

ich musste noch zwei kleine Änderungen vornehmen, es gibt auch Benutzernamen die Zahlen enthalten, und hab dann noch einen Sonderfall bemerkt, es gibt noch Panorama Bilder die nur height=500 sind, was aber direkt durch den deep scan gefunden wird und keine REWRITE Regel benötigt, hab einfach die Pixel angabe von =1000 zu =(5|10)00 geändert. Das ist also die fertige Regel:

Code:
  {
    "name": "DEEPDECRYPT fotocommunity.de",
    "rule": "DEEPDECRYPT",
    "enabled": true,
    "logging": false,
    "maxDecryptDepth": 1,
    "pattern": "https?://(www\\.)?fotocommunity\\.de/photo/([A-Za-z0-9-]+)/[0-9]+",
    "deepPattern": "(https?://img\\.fotocommunity\\.com/[A-Za-z0-9-]+\\.jpg\\?[A-Za-z]+=(5|10)00)",
    "packageNamePattern": "<meta property=\"og:url\" content=\"https?://(?:www\\.)?fotocommunity\\.de/photo/([^/]+)/[0-9]+\"\\s*>"
  },
  {
    "name": "REWRITE fotocommunity.de",
    "rule": "REWRITE",
    "enabled": true,
    "pattern": "(https?://img\\.fotocommunity\\.com/([A-Za-z0-9-]+)\\.jpg\\?)[A-Za-z]+=1000",
    "rewriteReplaceWith": "$1height=1080"
  }


Ich würde nur nochmal was zu den doppel Backslashes sagen, um das Missverständniss auszuräumen, denn ich hab mich nochmal mit der Seite "regex101.com" beschäftigt, und bemerkt, dass ich zunächst die Funktionsweise des Tools nicht ganz begriffen hab.

In der knowledge Base steht:

Quote:
Useful online tool for testing regular expressions: regex101.com -> Make sure to set the "Flavor" in the left side to "Java 8"!
Daher hab ich zu Beginn gedacht, wenn man in dem "Flavor" Menü wie in der Knowledgebase empfohlen, "Java 8" auswählt, muss in das "REGULAR EXPRESSION" Feld, der reguläre Ausdruck, dem "Java" Standard entsprechend mit z.B. zwei Backslashes vor einem Punkt, eingefügt werden, um ihn zu überprüfen, so wie er später in die Linkcrawler Regel geschrieben wird.

Das war falsch, wenn man den Regulären Ausdruck so einfügt, wird er in dem Test nicht erkannt, man muss also den regulären Ausdruck in dem Standart mit NUR EINEM Backslash zum escapen einfügen, wie er z.B. auf meiner Seite "regex-generator.olafneumann.org" unter Punkt "4 Regular Expression" generiert wird.

Wenn man auf der Seite "regex101.com" dann den korrekten regulären Ausdruck ermittelt hat, wählt man im "TOOLS" Menü auf der linken Seite unter dem "FLAVOR" Menü den einzigen Punkt "Code Generator" aus, und es erscheint ein Fenster mit Java Code in dem der reguläre Ausdruck mit doppel Backslash vor dem Punkt, dem Java standard entsprechend, enthalten ist, den man dann kopieren und z.B. in der Linkcrawler Regel benutzen kann.

Ich fasse kurz zum besseren Verständnis zusammen:
Da ich ja beim erstellen der Regel gesehen hab, dass zum escapen von Punkten in den Linkcrawler Regeln zwei Backslashes benötigt werden und in der Knowledgebase ja der Hinweis mit "Java 8" für die Seite "regex101.com" gegeben wird, hab ich also auf "regex101.com" einen regulären Ausdruck zum überprüfen eingefügt, der dem Java Standart entspricht, so wie ich ihn unter "Java" im Menüpunkt "5" ganz untenauf der Seite "regex-generator.olafneumann.org" generiert bekommen habe, und hab auch das "Java 8" in dem Menü ausgewählt, und mich anschließend lange gewundert, wieso der Ausdruck nicht erkannt wird, obwohl er scheinbar korrekt war.


So damit wäre alles erledigt, jetzt kann ich meine über 9000 Links von der fotocommunity.de in den JDownloader einfügen, erspare mir tage- oder wochenlange, sehr stumpfsinnige Arbeit, und dafür BEDANKE ICH MICH HERZLICH (=^ェ^=).
__________________
Wo gezogen wird, wird auch geschoben.

Last edited by Mathamphetematiker; 13.05.2023 at 02:25.
Reply With Quote
  #7  
Old 17.05.2023, 14:56
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,734
Default

Quote:
Originally Posted by Mathamphetematiker View Post
Das war falsch, wenn man den Regulären Ausdruck so einfügt, wird er in dem Test nicht erkannt, man muss also den regulären Ausdruck in dem Standart mit NUR EINEM Backslash zum escapen einfügen, wie er z.B. auf meiner Seite "regex-generator.olafneumann.org" unter Punkt "4 Regular Expression" generiert wird.
Korrekt.
Nochmal:
Der doppel-Backslash hat nichts mit dem RegEx zu tun sondern mit dem json.
stackoverflow.com/questions/19176024/how-to-escape-special-characters-in-building-a-json-string
Nochmal:
Nimm statt zwei mal nur einen Backslash und füge das json in JD ein. Du wirst eine Fehlermeldung erhalten, aber nicht wegen dem regulären Ausdruck sondern, weil du dir so das json zerschiesst.

Außerdem ist die "Tools -> Code Generator" Funktionalität etwas anderes als das Feature des Verstellens des RegEx Flavors.

Quote:
Originally Posted by Mathamphetematiker View Post
Wenn man auf der Seite "regex101.com" dann den korrekten regulären Ausdruck ermittelt hat, wählt man im "TOOLS" Menü auf der linken Seite unter dem "FLAVOR" Menü den einzigen Punkt "Code Generator" aus, und es erscheint ein Fenster mit Java Code in dem der reguläre Ausdruck mit doppel Backslash vor dem Punkt, dem Java standard entsprechend, enthalten ist, den man dann kopieren und z.B. in der Linkcrawler Regel benutzen kann.
So kann man es auch machen.
Wir haben regex101.com wie gesagt an verschiedenen Stellen verlinkt, aber wir haben nicht vor, in unserer Knowledgebase weiter auf reguläre Ausdrücke und deren Verwendung einzugehen.
Das Feature der LinkCrawler Regeln bzw. die Verwendung der Profieinstellungen setzt einige erweiterte Kenntnisse voraus.
Sollten da Fragen aufkommen, helfen wir gerne aber "das Niveau der Knowledgebase weiter zu senken" wäre denke ich nicht zielführend.
Hätten wir mehr Supporter und Manpower, wäre sowas evtl. denkbar.


Quote:
Originally Posted by Mathamphetematiker View Post
So damit wäre alles erledigt, jetzt kann ich meine über 9000 Links von der fotocommunity.de in den JDownloader einfügen, erspare mir tage- oder wochenlange, sehr stumpfsinnige Arbeit, und dafür BEDANKE ICH MICH HERZLICH (=^ェ^=).
Danke für dein Feedback und viel Spaß beim Downloaden!
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
  #8  
Old 25.05.2023, 21:27
Mathamphetematiker Mathamphetematiker is offline
Baby Loader
 
Join Date: May 2023
Posts: 6
Default

Ich hät ne Frage, hab eine weitere Linkcrawler Regel für eine andere Seite erstellt, die gut funktioniert, ist es erwünscht dass man das an passender Stelle im Forum postet? Wird das irgendwo gesammelt oder so?
__________________
Wo gezogen wird, wird auch geschoben.

Last edited by Mathamphetematiker; 25.05.2023 at 21:35.
Reply With Quote
  #9  
Old 25.05.2023, 21:33
Mathamphetematiker Mathamphetematiker is offline
Baby Loader
 
Join Date: May 2023
Posts: 6
Default

sry doppelt
__________________
Wo gezogen wird, wird auch geschoben.
Reply With Quote
  #10  
Old 30.05.2023, 15:55
pspzockerscene's Avatar
pspzockerscene pspzockerscene is offline
Community Manager
 
Join Date: Mar 2009
Location: Deutschland
Posts: 71,734
Default

Quote:
Originally Posted by Mathamphetematiker View Post
st es erwünscht dass man das an passender Stelle im Forum postet?
Ja gerne.

Quote:
Originally Posted by Mathamphetematiker View Post
Wird das irgendwo gesammelt oder so?
Nein.
Ich würde es im "Wünsche" Unterforum posten
__________________
JD Supporter, Plugin Dev. & Community Manager

Erste Schritte & Tutorials || JDownloader 2 Setup Download
Spoiler:

A users' JD crashes and the first thing to ask is:
Quote:
Originally Posted by Jiaz View Post
Do you have Nero installed?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 23:15.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.