这是爱站网站的数据排行采集。
同样用的是QueryList。
感兴趣的可以去学习一下。
话不多说,上代码:
ini_set('memory_limit','2000M');//设置PHP内存
set_time_limit(360000);//PHP连接时间为100小时
require 'vendor/phpQuery.php';
require 'vendor/QueryList.php';
use QL\QueryList;
$post = $_POST;
if (!empty($_POST)) {
for($b = @$post['min']; $b <= @$post['max']; $b++) {
$url = 'http://top.aizhan.com/top/t41/p' . $b .'.html';
$data = QueryList::Query($url, array("name"=>array('h2 a','text'),"url"=>array('h2 em', 'text')))->data;
foreach ($data as $v) {
@$str = $v['name'] . ':' . $v['url'];
@file_put_contents( './' . 'aizhan'. ".txt",$str . PHP_EOL, FILE_APPEND );
unset($v);
}
unset($data);
}
die;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>爱站采集</title>
<style>
html, body, h1, form, fieldset, legend, ol ,li{
padding:0;
margin:0;
}
ol{
list-style:none;
}
body{
background:#fff;
color:#111;
padding:20px;
}
form#payment{
background:#9cbc2c;
-webkit-border-radius:5px;
border-radius:5px;
padding:20px;
width:400px;
}
form#payment fieldset{
border:none;
margin-bottom:10px;
}
form#payment fieldset:last-of-type{ margin-bottom:0; }
form#payment legend{
color:#384313;
font-size:16px;
font-weight:bold;
padding-bottom:10;
text-shadow:0px 1px 1px #c0d576;
}
form#payment > fieldset>legend:before{
content:"Step" counter(fieldset)":";
counter-increment:fieldsets;
}
form#payment fieldset fieldset legend{
color:#111;
font-size:13px;
font-weight:normal;
padding-bottom:0;
}
form#payment ol li{
background:#b9cf6a;
background:rgba(255, 255, 255, 0.3);
border:#e3ebc3;
border-color:rgba(255, 255, 255, 0.6);
border-style:solid;
border-width:2px;
-webkit-border-radius:5px;
line-height:30px;
padding:5px 10px;
margin-bottom:2px;
}
form#payment ol ol li{
bakcground:none;
border:none;
float:left;
}
form#payment label{
float:left;
font-size:13px;
width:110px;
}
form#payment fieldset fieldset label{
background:none no-repeat left 50%;
line-height:20px;
padding:0 0 0 30px;
width:auto;
}
form#payment fieldset fieldset label:hover{cursor:pointer;}
form#payment input:not([type=radio]), form#payment textarea{
background:#fff;
border:#fc3 solid 1px;
-webkit-border-radius:3px;
outline:none;
padding:5px;
}
</style>
</head>
<body>
<form id=payment action="" method="POST">
<fieldset>
<legend>爱站采集</legend>
<ol>
<li>
<label for="phone">起始页数:</label>
<input type="tel" placeholder="请输入需要爬取的结束页数" id="phone" name="min">
</li>
<li>
<label for="phone">采集页数:</label>
<input type="tel" placeholder="请输入需要爬取的结束页数" id="phone" name="max">
</li>
</ol>
</fieldset>
<fieldset>
<button type="submit">提交</button>
</fieldset>
</form>
</body>
</html>