Δημοσιεύτηκε: 16 Αύγ 2018, 18:39
από Tassos10
Χαίρεται φίλε,

Αν σου είναι εύκολο, να μας γράφεις λίγο πιο αναλυτικά διότι παραδείγματος χάρη εγώ δε καταλαβαίνω καθόλου το πρώτο σου ερώτημα.
Θες να επεκτείνεις/προσθέσεις κάτι νέο στο ήδη υπάρχον extension ; ( Παρεμπιπτόντως είναι όντως πάρα πολύ ωραίο! - Δεν το ήξερα και μου φαίνεται θα το χρησιμοποιήσω και εγώ. :-P )

Όσο αφορά το δεύτερο, γιατί απλώς ως τίτλο ( αρχικά τουλάχιστον για να παίξεις ) δεν βάζεις κατευθείαν το όνομα του τραγουδιού μαζί με τον καλλιτέχνη ; Το να το διαβάζει από το αρχείο, νομίζω πως αρχικά δεν έχει και τόση ιδιαίτερη σημασία.
Οπότε ας το δούμε από την αρχή...
Το ωραίο με αυτό το script είναι πως κάνει αναζήτηση στη μηχανή αναζήτησης Google χωρίς να το υποπτευθεί η Google ως κακόβουλο ( προσοχή όμως δεν ξέρω τι θα γίνει αν στέλνει συνεχώς αιτήματα σε πολύ συχνά χρονικά διαστήματα ), πέρα από αυτό όμως, η wget παίρνοντας ως user-agent ( παράμετρο -U ) το «'Googlebot-Image/1.0'» λειτουργεί περίφημα.
Οπότε κατ' ουσία αυτό το script ( και αυτό που νομίζω θες εσύ ) κάνει δύο πράγματα :
1) Αναζητάει στη Google με το string που του δίνεις για εικόνες.
2) Θέλεις να πάρεις την πρώτη εικόνα και να την κατεβάσεις ( αν ο τίτλος είναι σωστός και αν ακόμη περισσότερο έχει ακόμη και τον καλλιτέχνη, τότε θα είναι πολύ δύσκολο η big sister Google να βρει κάτι εντελώς άσχετο... 8-)

Οπότε αν τα πάμε βήμα βήμα, και υποθέτοντας πως θέλεις να βρεις μια εικόνα για το τραγούδι «I Need A Dollar» ( Aloe Blacc ) τότε,
1) Απλώς αναζητάμε στην μηχανή αναζήτησης εικόνων της Google :
Κώδικας: Επιλογή όλων
wget -U'Googlebot-Image/1.0' -qO - "www.google.com/search?q=I+Need+A+Dollar"\&tbm=isch > dollar.html

Αυτό θα δεις πως θα σου επιστρέψει την σελίδα της google με τα αποτελέσματα της αναζήτησης ( στο αποθηκεύω στο αρχείο «dollar.html» μονάχα για να πατήσεις διπλό κλικ να το ανοίξεις στον browser σου και να έχεις μια πραγματική εικόνα για το τι γίνεται/επιστρέφει - βεβαίως στο λογισμικό σου πιθανός δε θα χρειάζεται καμία ενδιάμεση αποθήκευση ).

2) Εφόσον έχουμε την σελίδα με τα αποτελέσματα μας, μας αρκεί μια εικόνα, ( εδώ το παραπάνω script πλέον δεν λειτουργεί σωστά ) :
Κώδικας: Επιλογή όλων
cat dollar.html | perl -pe 's!.*?<tbody .*?src="([^"]*)".*!$1!' && echo ""


3) Οκ, ας την κατεβάσω κιόλας απευθείας :
Κώδικας: Επιλογή όλων
cat dollar.html | wget $( perl -pe 's!.*?<tbody .*?src="([^"]*)".*!$1!') -O dollar.jpg

Και βεβαίως μπορεί να γίνει πιο άμεσα η αναζήτηση και το κατέβασμα της εικόνας :
Κώδικας: Επιλογή όλων
wget -U'Googlebot-Image/1.0' -qO - "www.google.com/search?q=I+Need+A+Dollar"\&tbm=isch | wget $( perl -pe 's!.*?<tbody .*?src="([^"]*)".*!$1!') -O dollar.jpg

Όσο αφορά την μετατροπή ( από JPG σε PNG ) που κάνει στο τέλος δεν είναι τίποτα απολύτως, αλλά μονάχα σκέψου αν εσύ το χρειάζεσαι όντως.

Ελπίζω να βοήθησα λίγο. :)