phpcms模拟登陆执行已经抓取到的网址进行采集内容
来源:互联网 发布:安卓秒变iphone软件 编辑:程序博客网 时间:2024/05/19 19:13
<?php//模拟登陆获取pc_hash执行采集已有的网址function arr(){ //获取所有未被采集的数量和nodeid $mysqli = new mysqli('localhost', 'root', '12345', 'phpcmsv9') or die('数据库链接失败'); $sql = 'select nodeid from v9_collection_content where status=0'; $query = $mysqli->query($sql); while ($rs = mysqli_fetch_row($query)) { $result[] = $rs[0]; } $mysqli->close(); return array_count_values($result);}$arr2=arr();function login_post($url, $cookie, $post) {$curl = curl_init();//初始化curl模块curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//是否自动显示返回的信息curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中curl_setopt($curl, CURLOPT_POST, 1);//post方式提交curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息curl_exec($curl);//执行cURLcurl_close($curl);//关闭cURL资源,并且释放系统资源}function get_content($url, $cookie) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie $rs = curl_exec($ch); //执行cURL抓取页面内容 curl_close($ch); return $rs;}function star($url, $cookie) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie curl_exec($ch); //执行cURL curl_close($ch);}//设置post的数据$post = array ( 'username' => 'phpcms', 'password' => 'phpcms',);//登录地址$url = "http://localhost/index.php?m=admin&c=index&a=login&dosubmit=1";//设置cookie保存路径$cookie = dirname(__FILE__) . '/cookie.txt';//登录后要获取信息的地址$url2 = 'http://localhost/index.php?m=admin';//模拟登录login_post($url, $cookie, $post);//获取登录页的信息$content = get_content($url2, $cookie);$preg = '/var pc_hash = \'(.*)\'/i';preg_match_all($preg, $content, $arr);$str = $arr[1][0];//获取pc_hash//因为一次执行两条 总共执行的次数是round($num/2)foreach($arr2 as $key=>$value){ echo $value.'<br>'; $num=round($value/2); for($i=0;$i<$num;$i++) { star('http://localhost/index.php?m=collection&c=node&a=col_content&page=8&nodeid='.$key.'&pc_hash=' . $str, $cookie); echo $key.'<br>'; }}//删除cookie文件@ unlink($cookie);
0 0
- phpcms模拟登陆执行已经抓取到的网址进行采集内容
- phpcms采集时提示”没有找到网址列表,请先进行网址采集“的解决方法
- 火车头采集器 当前网址内容采集 以及软件误标为已经采集的处理
- phpcms v9采集是出现没有找到网址列表,请先进行网址采集。
- 使用Snoopy进行模拟登陆、采集
- 使用Snoopy进行模拟登陆、采集
- 使用Snoopy进行模拟登陆、采集
- 抓取网页,分析网页内容,模拟登陆网站的逻辑/流程和注意事项
- 使用curl模拟登陆抓取网页指定内容
- 一段简单的采集程序。模拟登陆,采集页面
- 采集--封装模拟登陆
- 模拟登陆 & 抓取网页
- 【数据抓取】模拟登陆
- 黄聪:关于抓取网页,分析网页内容,模拟登陆网站的逻辑/流程和注意事项(转)
- phpcms采集功能中内容清理正则
- phpcms相对路径链接内容采集修正
- jQuery_review之对已经加载到页面上的的table进行内容的筛选
- 网页抓取,模拟登陆,抓取动态网页内容等过程中,所涉及的Headers信息,Cookie信息,POST数据的处理逻辑
- zabbix使用外部邮箱账号发送报警邮件设置
- iOS8 以上版本的定位问题
- 横竖屏切换导致适配出现问题(独家)
- iOS What The Fuck UITableView
- iOS开发之添加自定义字体
- phpcms模拟登陆执行已经抓取到的网址进行采集内容
- IDEA无法编译含BOM文件的问题解决方案
- 模版字符串实例:模板编译
- 《pro git》学习笔记
- 深入理解Android View
- 批量ssh执行命令
- 机器学习与数据挖掘网上资源搜罗
- 职业生涯管理系统 servlet+javabean+mysql(三)登陆的实现
- Unix编程之函数fork,简单说明 (可以把它看作是一个设计函数的模板)