Maison développement back-end tutoriel php 超囧的图片链接批量获取和下载_PHP教程

超囧的图片链接批量获取和下载_PHP教程

Jul 13, 2016 pm 05:48 PM
windows Vers le bas 下载 et 图片 exister 壁纸 批量 de 网站 获取 链接

以前在windows下经常去一些壁纸网站,或者是美女的QQ相册,又或者是一个激情美女图片网站下载图片,经常需要点击右键然后“另存为”,要是遇见经典套图,这种重复的操作肯定会让你失去下载的动力。后来用了Firefox有个插件好像是DownloadThemAll(记得不清除了,反正就是批量下载网页链接的,可以筛选格式下载图片),结合迅雷使用可以极大的提高图片下载的效率(但是如果页面小图片过多,下完之后也需要很长时间来筛选删除废文件)。现在用了ubuntu,没有windows和迅雷,也不用firefox很多年了。我们如何来批量下载网页中的美图?在chrome下我一直想找这样一款插件,可惜只找到IMG inspector这个插件,这个插件的工作方式是定义一个基准URL,利用占位符,定义好的步长和循环范围来重新生成链接并预览。不得不说这样的功能是在太弱了,即使是套图的URL也不一定是有规律可循的,所以这种方法并不可取也不实用。
  于是后来琢磨着学学Chrome插件开发,自己来做一个 可惜一直没有什么动力。而且我也不清楚chrome插件能不能解决图片下载的问题:是调用客户端下载软件还是调用原生浏览器下载,而且这样一来,还得好好学习chrome的API的一些高级方法,开发成本顿增。遂放弃之。于是转换思路继续琢磨。然后把几个难点问题一一分拆开来分析(环境:UBUNTU+CHROME/FIREFOX):

  1)如何获取当前页面的图片地址?

  这个最简单的莫过于在chrome的控制台或者firebug中执行脚本程序了,我也想过利用网页爬虫工具比如SimpleHtmlDom这个强大的开源框架(如果你熟悉jquery这个框架让你在服务器端使用jquery获取标签,十分方便),不过这样可能执行的效率上差了一截。复杂性也增加了一些。

  2)如何确定当前页面的图片大小是否符合我的“胃口”?

  这个问题得分两种情况考虑:网页图片一般分为缩略图和原图。缩略图一般都附带原图链接。也就是用a标签包裹img标签,我们需要获取a标签的href值而不是img标签的src值;原图一般只是一个img标签,这样你可以利用Image对象的width和height来筛选这些图片。对于缩略图筛选可以new一个Image对象设置src的值以后对其高度和宽度进行筛选。不过对于缩略图我一般不筛选,这样的图片一般都是很大的,相反你最可能要筛选的是a标签里面的img对象,因为很多logo和button的图片都是链接包裹的小图片。

  3)如何下载图片?

   上面两步都是使用控制台的脚本程序来完成的,整个代码不超过10行(包含jquery相机加载的代码)。最后你可以不废吹灰之力得到当前页面筛选之后的图片的地址。可惜就在这一步了,得到了地址没有用,真正废操作的步骤在如何一次性的把这些图片下载到本地的机器。如果我会chrome插件开发,知道chrome如何调用系统的方法(其实我也不确定chrome是否可以,如果浏览器的安全限制足够严格那么这肯定是行不通的),然后熟悉下wget这个强悍无比的下载命令。这就迎刃而解了。遗憾的是,前两个我都不熟悉,不过没关系天无绝人之路,条条大道通罗马,一定会有另外一种方法的。

  4)飞越控制台Console

  现在我们的思路被卡在chrome的控制台里了,空有大把图片链接却不知道怎么下载他们(其实也只是当前窗口的图片链接)。对于chrome插件开发我始终抱有一丝幻想,可惜学习动力实在没有,而且自己也始终质疑chrome这么安全严格的浏览器会允许js与客户端交互吗?

  于是我开始退步思考问题了,不下载文件,直接把这些文件存储在本地的任何一个我能日后读取的地方就行。于是思路延续到html5 的本地存储localStorage和本地数据库,也考虑了Google Gears的本地数据库,后来发现要么搞得过于复杂,要么行不通。慢慢的思路开始朝着一个简单的方向漂移--jQuery,没错就是他--$.getJSON()。如果能够跨域将图片地址发到本地的一个网站然后在后台下载不就行了吗?于是马上用Code Igniter制作了一个网站:只在控制器里面加入了一个只有一个方法的php的控制器类文件,代码仍然不超过10行。代码的作用只是将所有的图片链接换行写入一个文本文件(urls.txt)。

  5) 无敌下载器

  到这快要结束了,也许有人问我,你这不还是没有实现下载图片吗?嘿嘿,nb人物要登场了:wget -i -b urls.txt 。在终端里面进入网站目录,执行该命令,自动后台下载文本文件里面的每一行的图片地址。

  PS:前几天对这个命令不熟悉,拿一H网做实验,误用了参数在后台默默的下载了1.1G的黄图,后来发现了强行kill了该进程。总之这个命令下载网站内容那是强悍到不行。 如果你用linux,这个命令很邪恶,想干坏事到了个位哦!

  6) 能不囧吗?

  这个操作流程,真的很囧。

  囧一:a)部署好本地的网站--》b)右键打开chrome控制台或者firebug--》c)复制脚本--》d)粘贴--》e)Enter--f》打开终端--g》wget。这个操作对于一个页面很多图片(缩略图,套图)的网页来说,很便利。但是如果我打开了十个网页,每个页面就都要执行b和d以及e操作,如果这段脚本能够做成chrome插件嵌入到浏览器中那么至少可以省下2步:打开页面手动点一下插件图标或者设置为自动执行脚本。这样易用性就大大提升了。

  囧二:如何省去wget这一步,直接在php后台执行下载。这就需要考虑使用php调用ubuntu系统方法了,不熟,有待研究。

  囧三:如何省去部署网站这一步,需要网站的根本原因是我无法将多个页面的图片地址合并存储在一起,考虑过cookie但是大小限制是个问题,图片地址过百很正常(尤其是包含中文的时候)。而且还要考虑存储后方读取便调用的问题。

   这几个问题还没有考虑好,现在只是在考虑实现囧二。其实这个过程对技术本身没有多大提升,但是后来回想整个流程,发现对面对问题时的思路和方法论上面都有了明显的提高。欢迎大家来讨论!


摘自 Hurry的专栏

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478448.htmlTechArticle以前在windows下经常去一些壁纸网站,或者是美女的QQ相册,又或者是一个激情美女图片网站下载图片,经常需要点击右键然后另存为,要是...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre à jour la dernière version de Bybit Exchange? Y aura-t-il un impact s'il n'est pas mis à jour? Comment mettre à jour la dernière version de Bybit Exchange? Y aura-t-il un impact s'il n'est pas mis à jour? Feb 21, 2025 pm 10:54 PM

La façon de mettre à jour les échanges de recours varie selon la plate-forme et l'appareil: mobile: vérifiez les mises à jour et installez dans l'App Store. Client de bureau: vérifiez les mises à jour dans le menu d'aide et installez automatiquement. Page Web: Vous devez accéder manuellement au site officiel pour les mises à jour. Le défaut de mise à jour de l'échange peut entraîner des vulnérabilités de sécurité, des limitations fonctionnelles, des problèmes de compatibilité et une réduction de l'efficacité de l'exécution des transactions.

Entrée de la version Web Deepseek Entrée du site officiel Deepseek Entrée de la version Web Deepseek Entrée du site officiel Deepseek Feb 19, 2025 pm 04:54 PM

Deepseek est un puissant outil de recherche et d'analyse intelligent qui fournit deux méthodes d'accès: la version Web et le site officiel. La version Web est pratique et efficace et peut être utilisée sans installation; Que ce soit des individus ou des utilisateurs d'entreprise, ils peuvent facilement obtenir et analyser des données massives via Deepseek pour améliorer l'efficacité du travail, aider la prise de décision et promouvoir l'innovation.

Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Comment installer Deepseek Comment installer Deepseek Feb 19, 2025 pm 05:48 PM

Il existe de nombreuses façons d'installer Deepseek, notamment: Compiler à partir de Source (pour les développeurs expérimentés) en utilisant des packages précompilés (pour les utilisateurs de Windows) à l'aide de conteneurs Docker (pour le plus pratique, pas besoin de s'inquiéter de la compatibilité), quelle que soit la méthode que vous choisissez, veuillez lire Les documents officiels documentent soigneusement et les préparent pleinement à éviter des problèmes inutiles.

Counper Exchange Software Channel Entrée du site Web officiel Counper Exchange Software Channel Entrée du site Web officiel Feb 21, 2025 pm 10:39 PM

L'entrée officielle du site Web de l'échange de Coinsuper: https://www.coinsuper.com. Les canaux de téléchargement du client sont: le client Windows, le client macOS et le mobile (iOS / Android). L'inscription nécessite un e-mail, un numéro de téléphone mobile et un mot de passe, et vous devez effectuer une authentification réelle avant de pouvoir échanger. La plate-forme fournit une variété de transactions d'actifs numériques, notamment Bitcoin, Ethereum, etc., avec le taux de frais de transaction de 0,1% pour les commandes et les accepteurs. Les garanties de sécurité comprennent le stockage du portefeuille à froid, la vérification à double facteur, les mesures de financement anti-monnaie et le financement antiterroriste et avec le public de la sécurité

Le package d'installation OUYI OKX est directement inclus Le package d'installation OUYI OKX est directement inclus Feb 21, 2025 pm 08:00 PM

OUYI OKX, le premier échange mondial d'actifs numériques, a maintenant lancé un package d'installation officiel pour offrir une expérience de trading sûre et pratique. Le package d'installation OKX de OUYI n'a pas besoin d'être accessible via un navigateur. Le processus d'installation est simple et facile à comprendre.

Installation officielle du site officiel de Bitget (Guide du débutant 2025) Installation officielle du site officiel de Bitget (Guide du débutant 2025) Feb 21, 2025 pm 08:42 PM

Bitget est un échange de crypto-monnaie qui fournit une variété de services de trading, notamment le trading au comptant, le trading de contrats et les dérivés. Fondée en 2018, l'échange est basée à Singapour et s'engage à fournir aux utilisateurs une plate-forme de trading sûre et fiable. Bitget propose une variété de paires de trading, notamment BTC / USDT, ETH / USDT et XRP / USDT. De plus, l'échange a une réputation de sécurité et de liquidité et offre une variété de fonctionnalités telles que les types de commandes premium, le trading à effet de levier et le support client 24/7.

Obtenez le package d'installation Gate.io gratuitement Obtenez le package d'installation Gate.io gratuitement Feb 21, 2025 pm 08:21 PM

Gate.io est un échange de crypto-monnaie populaire que les utilisateurs peuvent utiliser en téléchargeant son package d'installation et en l'installant sur leurs appareils. Les étapes pour obtenir le package d'installation sont les suivantes: Visitez le site officiel de Gate.io, cliquez sur "Télécharger", sélectionnez le système d'exploitation correspondant (Windows, Mac ou Linux) et téléchargez le package d'installation sur votre ordinateur. Il est recommandé de désactiver temporairement les logiciels antivirus ou le pare-feu pendant l'installation pour assurer une installation fluide. Une fois terminé, l'utilisateur doit créer un compte Gate.io pour commencer à l'utiliser.

See all articles