重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
curl基本特性
目前成都创新互联已为1000多家的企业提供了网站建设、域名、雅安服务器托管、绵阳服务器托管、企业网站设计、柴桑网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
模拟浏览器传输数据
实现post/get方式传输
支持多种协议:HTTP、HTTPS、FTP上传
支持cookie,用户名/密码的认证
使用curl完成请求的简单步骤
初始化一个curl句柄
resource curl_init ([ string $url = NULL ] )
设置curl选项
bool curl_setopt ( resource $ch , int $option , mixed $value )
执行curl请求
mixed curl_exec ( resource $ch )
释放curl资源
void curl_close ( resource $ch )
对于第一项表单而言
比如:
内容的第一页
内容的第二页
那么表单填.html
分析规则就是对比第一页与第二页的网址从左到右哪个字符出现不同,就把第一页网址之后的字符复制出来
如果是这种情况
;page=1
;page=2
对于这种情况,他后面不同的是一个数字,即是页码数字的话,就不需要填写.留空即可
对于第二项表单而言
第一页
第二页
那么右边的表单填_[page].htm
分析规则就是对比第一页与第二页的网址从左到右哪个字符出现不同,就把第二页的网址之后的字符复制出来,并把变动的页码数字用[page]替换
如果是这种情况
;page=1
;page=2
对于这种情况,他后面不同的是一个数字,即是页码数字的话,更简单,只需要填写[page]即可
对于第三项表单而言
第一页
第二页
此时属于怪癖的,理论上应该是
第三页
所以表单请选择是,但一般情况都是选否的,也就是说页码数字为1却是第二页.页码数为2却是第三页.就属于特殊现象.需要选则是.
?php
include("connection.php");
$perNumber=10; //每页显示的记录数
$page=$_GET['page']; //获得当前的页面值
$count=mysql_query("select count(*) from user"); //获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //计算出总页数
if (!isset($page)) {
$page=1;
} //如果没有值,则赋值1
$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录
$result=mysql_query("select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数
while ($row=mysql_fetch_array($result)) {
echo "user_id:".$row[0]."br";
echo "username:".$row[1]."br"; //显示数据库的内容
}
if ($page != 1) { //页数不等于1
?
a href="fenye.php?page=?php echo $page - 1;?"上一页/a !--显示上一页--
?php
}
for ($i=1;$i=$totalPage;$i++) { //循环显示出页面
?
a href="fenye.php?page=?php echo $i;?"?php echo $i ;?/a
?php
}
if ($page$totalPage) { //如果page小于总页数,显示下一页链接
?
a href="fenye.php?page=?php echo $page + 1;?"下一页/a
?php
}
?
================================
这个是很简单的..而且也写了注释..不知道合不合你的意..
问题其实不难,自己都能写。给你几个思路吧:
1.在百度知道中,输入linux,然后会出现列表。复制浏览器地址栏内容。
然后翻页,在复制地址栏内容,看看有什么不同,不同之处,就是你要循环分页的i值。
当然这个是笨方法。
2.使用php的file或者file_get_contents函数,获取链接URL的内容。
3.通过php正则表达式,获取你需要的3个字段内容。
4.写入数据库。
需要注意的是,百度知道有可能做了防抓取的功能,你刚一抓几个页面,可能会被禁止。
建议也就抓10页数据。
其实不难,你肯定写的出来。 还有,网上应该有很多抓取工具,你找找看,然后将抓下来的数据
在做分析。写入数据库。