php简单爬虫使用登录账号密码爬取列表(爬虫二篇)
来源:互联网 发布:淘宝商品代理 编辑:程序博客网 时间:2024/06/13 12:32
php简单爬虫使用登录账号密码爬取列表
关于思路
1.定义一个变量$data用来存放你想爬取网站的登录账号和密码以及是否‘记住密码’,此篇我以博客园为例
$data='input1=Dco4FpN99He1KN+m+GNujkxG29ZJ1k8HqTCJVPnR3l8H8PdkPCTcjgbajphjoBJPiS3XiPYYcNJ9GuS9eyrEmLRHo8okmJYYkyoYbxzZoqatiUX2zkeqYrm0VNXXflqsIZddEPLNKVkEZ/l59nkfi8io4AxltPKEDPLSffUJWho=&input2=VkCACmIgvQy7oZ9UvcSDD9nmG9H9MAqBN/zIxN9f+kFcr4O6KEkMC5ZU1xWdvDSLjfKCxIM3nSf35bFklVLjaTIEU9YHfvavnGx4uewG1/Dr164OyDzfqwbyuYrbwveBRKCfh/eKmRMFy+v2NxuLPZu/u+6gOGwrhENC1urfGpc=&remember=true' ;
2.怎么知道表单要提交的信息?抓包!我用的是chrome的开发者工具
在里面可以看到表单提交的信息,remember为是否记住密码3.开始爬虫的初始化,等一系列操作,其实最关键的是对cookie的一些设置,不过代买是常规的,只要记住就行,在所附代码中我已经写明注释,还是很好理解。下面贴出关于cookie设置的代码
/** * 与cookie相关的设置 */ #设置时区 date_default_timezone_set('PRC'); #设置http请求中'cookie'部分内容 curl_setopt($curlObj, CURLOPT_COOKIE, session_name().'='.session_id()); //判断session有效与否 curl_setopt($curlObj, CURLOPT_COOKIESESSION, true); //设置cookie数据的文件名,cookie文件的格式可以是Netscape格式,或者是纯http头部信息存入文件 curl_setopt($curlObj, CURLOPT_COOKIEFILE, "vickaycookie"); //连接结束后保存cookie信息的文件 curl_setopt($curlObj, CURLOPT_COOKIEJAR, "vickaycookie");
下面是全部代码
<?php $data='input1=Dco4FpN99He1KN+m+GNujkxG29ZJ1k8HqTCJVPnR3l8H8PdkPCTcjgbajphjoBJPiS3XiPYYcNJ9GuS9eyrEmLRHo8okmJYYkyoYbxzZoqatiUX2zkeqYrm0VNXXflqsIZddEPLNKVkEZ/l59nkfi8io4AxltPKEDPLSffUJWho=&input2=VkCACmIgvQy7oZ9UvcSDD9nmG9H9MAqBN/zIxN9f+kFcr4O6KEkMC5ZU1xWdvDSLjfKCxIM3nSf35bFklVLjaTIEU9YHfvavnGx4uewG1/Dr164OyDzfqwbyuYrbwveBRKCfh/eKmRMFy+v2NxuLPZu/u+6gOGwrhENC1urfGpc=&remember=true' ; //初始化 $curlObj = curl_init(); //设置代码执行以文件流形式输出,而不会直接打印出来 curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); /** * 与cookie相关的设置 */ #设置时区 date_default_timezone_set('PRC'); #设置http请求中'cookie'部分内容 curl_setopt($curlObj, CURLOPT_COOKIE, session_name().'='.session_id()); //判断session有效与否 curl_setopt($curlObj, CURLOPT_COOKIESESSION, true); //设置cookie数据的文件名,cookie文件的格式可以是Netscape格式,或者是纯http头部信息存入文件 curl_setopt($curlObj, CURLOPT_COOKIEFILE, "vickaycookie"); //连接结束后保存cookie信息的文件 curl_setopt($curlObj, CURLOPT_COOKIEJAR, "vickaycookie"); //是否保存header头信息 curl_setopt($curlObj, CURLOPT_HEADER, 0); //让curl支持页面链接的跳转 curl_setopt($curlObj, CURLOPT_FOLLOWLOCATION, 1); //设置post请求 curl_setopt($curlObj, CURLOPT_POST, 1); //全部数据使用http中的'post'方式发送 curl_setopt($curlObj, CURLOPT_POSTFIELDS, $data); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array( "application/x-www-form-urlencoded; charset = utf-8", "Content-length: ".strlen($data), )); curl_setopt($curlObj,CURLOPT_URL,"http://www.cnblogs.com/SamSarah/"); curl_setopt($curlObj, CURLOPT_POST,0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array( "Content-type: text/html" )); $output = curl_exec($curlObj); curl_close($curlObj); echo $output;
就到这儿了,漏洞多多,欢迎指点,共同交流
0 0
- php简单爬虫使用登录账号密码爬取列表(爬虫二篇)
- 【Python3.6爬虫学习记录】(二)使用BeautifulSoup爬取简单静态网页文章
- 使用Python爬取学校学生信息!(简单爬虫)
- 第四课 Python爬虫简单爬取新浪新闻列表
- 8-使用爬虫登录后台系统并爬取数据
- 简单Python3爬虫程序(5)进阶:知乎网的登录与用户相关信息爬取
- 一起学爬虫 Node.js 爬虫篇(三)使用 PhantomJS 爬取动态页面
- Python3网络爬虫(二):使用Beautiful Soup爬取小说
- nodejs 简单爬虫(二)
- python简单爬虫(二)
- PHP爬虫 爬取污染数据实例
- php 爬虫 爬取12306接口
- Python3 爬虫学习(一):urllib库的使用及简单的爬取
- Python爬虫爬取动态页面思路+实例(二)
- python爬虫进阶(二):动态网页爬取
- python爬虫系列之爬取百度文库(二)
- python 爬虫爬取所有上市公司公告信息(二)
- 【爬虫二】爬取豆瓣音乐榜单
- USACO-Section 3.2 Factorials(模拟)
- centos 6.5 搭建php
- WebView中网页点击还在WebView中跳转以及在屏幕上完整显示
- 哈理工oj hrbust 1725 Virus Outbreaking【并查集】
- Python中导入其它模块中的函数
- php简单爬虫使用登录账号密码爬取列表(爬虫二篇)
- 看看图像处理
- 【BZOJ2818】Gcd,数论练习之欧拉筛
- IOS开发学习之OC的消息机制。
- 面试题--两个字符串数字相加,不能用jdk自带的类型转换方法
- POJ2456 二分
- HTTPS原理
- NSURLConnection与NSURLSession大比拼
- LeetCode Algorithms #21 <Merge Two Sorted Lists>