<?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 1
|
3
wensonsmith 2019-02-01 16:36:45 +08:00
楼上要不要这么直接, 我想说这代码写的非常好,我选择打开网站
|
4
richChou 2019-02-01 18:24:06 +08:00 1
你们口味真重。反手就是一个网址:aHR0cCUzQS8vdjIubW14eXoubmV0
|
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 |