Mediabestanden (afbeeldingen, video's enz.) Ophalen van links in Perl

Net als bij Reddit's r/pic sub-reddit, wil ik media verzamelen van verschillende bronnen. Sommige sites gebruiken OEmbed-specificaties om media op de pagina zichtbaar te maken, maar niet alle sites doen het. Ik was aan het bladeren door de bron van Reddit, omdat ze in essentie links opschorten die gebruikers indienen, afbeeldingen, video's etc. ophalen. Ze maken miniaturen die vervolgens worden weergegeven op de link op hun site. Nu zou ik iets vergelijkbaars willen doen en ik keek naar hun code [1] en het lijkt erop dat ze aangepaste scrapers hebben voor elk domein dat ze herkennen en dan hebben ze een generieke Scraper-klasse die eenvoudige logica gebruikt om afbeeldingen uit elk domein te krijgen (in feite halen ze de webpagina op, parsen ze de html en bepalen dan de grootste afbeelding op de pagina die ze vervolgens gebruiken om een ​​miniatuur te genereren).

Since it's open source I can probably reuse the code for my application but unfortunately I have chosen Perl as this is a hobby project and I'm trying to learn Perl. Is there a Perl module which has similar functionality? If not, is there a Perl module that is similar to Python Imaging Library? It would be handy to determine the image sizes without actually downloading the whole image & thumbnail generation.

Bedankt!

[1] https://github.com/reddit/reddit/blob/master/r2/r2/lib/scraper.py

2

2 antwoord

Image::Size is the specialised module for determining image sizes from various format. It should be enough to read the first 1000 octets or so from a resource, enough for the diverse image headers, into a buffer and operating on that. I have not tested this.

Ik ken geen algemene schrapende module die een API voor HTTP-bereikverzoeken heeft om te voorkomen dat de volledige afbeeldingsbron wordt gedownload, maar het is eenvoudig om een ​​subklasse te maken WWW :: Mechaniseren .

1
toegevoegd
Bedankt voor de aanwijzer. Ik ben al op de hoogte van WWW :: Mechanize, maar ik ben vooral op zoek naar het terughalen van de media op een pagina en een pakket dat dat al doet in plaats van het mijne te schrijven.
toegevoegd de auteur void_ptr, de bron

Probeer PerlMagick , installatie-instructies worden daar ook vermeld.

0
toegevoegd