http://dadao.net/php/prtime/news_type_list.php?news_lm=%BD%F1%C8%D5%C4%CF%BA%A3 我要采集,这个地址,这里有分页,问题是用php 得不到第二页的内容。比如,$url = "http://dadao.net/php/prtime/news_type_list.php?news_lm=%BD%F1%C8%D5%C4%CF%BA%A3&page=2" 或者直接 $url = "http://dadao.net/php/prtime/news_type_list.php?page=2" ; 也不行。这个网站,如果你第一次用浏览器打开地址 http://dadao.net/php/prtime/news_type_list.php?page=2 或者 http://dadao.net/php/prtime/news_type_list.php?news_lm=%BD%F1%C8%D5%C4%CF%BA%A3&page=2 都得不到第二页内容。可是如果第一次打开 http://dadao.net/php/prtime/news_type_list.php?news_lm=%BD%F1%C8%D5%C4%CF%BA%A3 这个地址,再从这里跳转到第二页,就一切正常。 求解呀!!!
解决方案 »
- phpmps 分类页面置顶信息如何调用?
- 关于从数据库中查询记录并显示问题
- php 由表单select option传递过来的值,mysql select不能作为调用数据的条件?
- php如何获取这个javascript里的变量呢?
- 求个mysql命令
- 帮忙看个源码
- zend encoder和zend safeguard有什么区别?
- 请资深人士开讲座——图像的处理
- session提示warning,Who come to look???
- 使用php分页技术后,点击第一页的按钮页面可顺利跳转,但是点击第二页或者之后页面的按钮,页面无法跳转
- .htaccess能否设置文件未找到去另一个目录下找?
- 去掉相关数组中的重复记录
多数是session判断
curl,搞采集都不知道这个么?
curl_setopt($ch, CURLOPT_POST, 1);
$request = 'news_lm=%BD%F1%C8%D5%C4%CF%BA%A3';
curl_setopt($ch, CURLOPT_POSTFIELDS, $request); //把返回来的cookie信息保存在$cookie_jar文
//curl_setopt($ch, CURLOPT_AUTOREFERER, 'http://dadao.net/php/prtime/news_type_list.php?page=4'); //你要访问的页面
//curl_setopt($ch, CURLOPT_REFERER, 'http://dadao.net/php/prtime/news_type_list.php?news_lm=%BD%F1%C8%D5%C4%CF%BA%A3'); //伪造来路页面
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //是否显示内容$date = curl_exec($ch); //执行
curl_close($ch); //返回关闭
print_r($date);
//echo 'ff';
//phpinfo();/*// 初始化一个 cURL 对象
$curl = curl_init();// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://dadao.net/php/prtime/news_type_list.php?news_lm=%BD%F1%C8%D5%C4%CF%BA%A3');// 设置header
curl_setopt($curl, CURLOPT_HEADER, 1);// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// 运行cURL,请求网页
$data = curl_exec($curl);// 关闭URL请求
curl_close($curl);// 显示获得的数据
var_dump($data);*/
这样写:file_put_contents('bup.txt',''); // 构造一个缓存文件,因为在线解析可能很费时间
file_put_contents('cookie.txt',''); //文件 cookie.txt 用于存放取得的cookiefoo('news_lm=%BD%F1%C8%D5%C4%CF%BA%A3');for($i=2; $i<=10; $i++) { //一共取10页
speed(2); //等一下,防止对方反应不过来
foo("page=$i");
}readfile('bup.txt'); //最后看一下function foo($param) {
$url = 'http://dadao.net/php/prtime/news_type_list.php';
$cookiejar = realpath('cookie.txt');
$fp = fopen('bup.txt', 'a');
$ch = curl_init("$url?$param");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiejar);
curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch);
curl_close($ch);
fclose($fp);
}