
<?php require 'phpQuery.php'; // 主体域名 $basicUrl = 'https://www.meitulu.com/'; // 分类名称 $category = array('nvshen', 'jipin', 'nenmo', 'wangluohongren', 'fengsuniang', 'qizhi', 'youwu', 'baoru', 'xinggan', 'youhuo', 'meixiong', 'shaofu', 'changtui', 'mengmeizi', 'loli', 'keai', 'huwai', 'bijini', 'qingchun', 'weimei', 'qingxin'); // 爬虫代码 function curl($url, $referer, $download) { $ch = curl_init(); curl_setopt($ch, CURLOPT_TIMEOUT, 2); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 500); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4')); curl_setopt($ch, CURLOPT_REFERER, $referer); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS, -1); $cOntents= curl_exec($ch); curl_close($ch); if ($download) { $resource = fopen('default.jpg', 'w'); fwrite($resource, $contents); fclose($resource); return; } return $contents; } $count = 10; // 随机分类 while ($count > 0) { $afterUrl = $basicUrl . 't/' . $category[rand(0, count($category) - 1)] . '/' . rand(2, 5) . '.html'; $html = curl($afterUrl, $afterUrl, false); if (strlen($html) != 0) { break; } $count--; } if($count == 0){ echo '爬取失败!'; exit; } $count = 10; $afterUrlTmp = $afterUrl; $eg = phpQuery::newDocument($html); $links = pq('ul.img > li > a'); // 随机套图 $afterUrl = ''; for ($i = 0; $i < count($links); $i++) { $afterUrl = $links->eq($i)->attr('href'); if (strpos($afterUrl, 'item' !== false)) { if (strpos($afterUrl, 'https' == false)) { $afterUrl = 'https://www.meitulu.com' + $afterUrl; } $html = curl($afterUrl, $afterUrlTmp, false); if (strlen($html) != 0) { break; } } } $html = curl($afterUrl, $afterUrlTmp, false); $eg = phpQuery::newDocument($html); $img = pq('img.content_img'); $afterUrlTmp = $afterUrl; // 随机图片 while ($count > 0) { $afterUrl = $img->eq(rand(0, count($img) - 1))->attr('src'); if (strlen($afterUrl) != 0) { break; } $count--; } if($count == 0){ echo '爬取失败!'; exit; } curl($afterUrl, $afterUrlTmp, true); echo '<img src="default.jpg">'; ?> ![]()
演示地址:https://www.liulangboy.com/tools/02/get-meitulu-pic.php
1 rekulas 2019-01-31 17:43:44 +08:00 这代码对我来说毫无价值,不过这网站不错收藏了。。。 |
2 eW91IHNlZSBtZQ 2019-02-01 10:59:13 +08:00 |
3 wensonsmith 2019-02-01 16:36:45 +08:00 楼上要不要这么直接, 我想说这代码写的非常好,我选择打开网站 |
4 richChou 2019-02-01 18:24:06 +08:00 |
5 rooob1 2019-02-02 09:03:48 +08:00 @zhoujunjie221 点个赞 |
6 gongcheng121 2019-02-02 17:02:57 +08:00 @zhoujunjie221 哈哈,隐藏的挺好 |
7 dd0754 2019-02-06 12:55:04 +08:00 via iPhone 网址收藏了 |
8 Thresh 2019-02-12 10:40:46 +08:00 ....真厉害.... 你自己写的么 @zhoujunjie221 |