Tumblr 上的很多图片都很不错 特别是一些精选的图片. 可以通过 Tumblr API 来进行爪取. 也可以直接网页抓. PHP有一个库叫 PHPQuery, 也就是把 JQuery 的方式引起到PHP里, 让PHP也支持通过 CSS 选择器的方式对页面元素进行搜索.
通过 PHPQuery, 抓取 变得极为简单. Share on X
require('phpQuery.php');
require('app.php');
$ip = get_ip_address();
function grab($url, $lvl = 5) {
global $ip;
if ($lvl < = 0) {
return;
}
$doc = phpQuery::newDocumentFile($url);
foreach(pq('div.TumbPostPane') as $p) {
$img = pq($p)->find('img.PhotoPostMainPhoto')->attr('src');
$desc = htmlspecialchars(trim(pq($p)->find('div.MetaPanel')->html()));
$url = pq($p)->find('a')->attr('href');
$err = '';
if (UploadPic($img, $desc, $err, $ip)) { // 发现并下载保存图片
echo "OK = $err \n";
} else {
echo str_replace("
", "\n", "Error = $err \n");
}
grab($url, $lvl - 1); // 递归抓取
}
}
grab("https://uploadbeta.com", 1);
以上代码只需要稍做修改就可以用了. 几分钟 就下载了 3000多张图片. 图片都下载到自己的VPS服务器上 并且有相应的图片介绍. 具体效果请看: uploadbeta.com
当然抓取的频率不要太大 要不然很有可能被封 IP 地址 了 最好抓取有个时间间隔 比如几十毫秒.
另: 图片网站支持各类 API 方便大家使用: https://uploadbeta.com/picture-gallery/faq.php#api
英文: https://helloacm.com/case-study-use-phpquery-to-crawl-3000-images-from-tumblr/
本文一共 231 个汉字, 你数一下对不对.上一篇: BASH编程: 计算一个文本文件中每个单词的频率
下一篇: 手机友好页面设计的几个重要步骤
扫描二维码,分享本文到微信朋友圈


就是一秒也够你下载到海量的图片了.然而,下载这么多图片有什么用?
索引 搜索 YY