php 模拟登陆(不带验证码)采集数据

这里模拟表单登陆窗口
提交代码部分
1,生成session_id保存到 cookie
$login_url = 'http://www.96net.com.cn/Login.php';
$cookie_file = dirname(__FILE__)."/pic.cookie";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_exec($ch);
curl_close($ch);
2,处理提交的登陆的数据
if($_POST['acti']=='tj'){
$userid=$_POST['userid'];
$password=$_POST['password']; $_post_url = 'http://www.96net.com.cn/login.php?action=Login'; //登录表单提交地址 $post = "userid=$userid&password=$password"; $ch12 = curl_init(); curl_setopt($ch12, CURLOPT_URL, $_post_url); curl_setopt($ch12, CURLOPT_HEADER, false); curl_setopt($ch12, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch12, CURLOPT_POSTFIELDS, $post); //提交方式为post curl_setopt($ch12, CURLOPT_COOKIEFILE, $cookie_file); curl_exec($ch12); curl_close($ch12); //以上表示登陆成功
//以下开始采集数据
$data_url19 = "http://www.96net.com.cn/xxxxxxx.php?id=10"; //数据所在地址
$ch19 = curl_init();
curl_setopt($ch19, CURLOPT_URL, $data_url19);
curl_setopt($ch19, CURLOPT_HEADER, false);
curl_setopt($ch19, CURLOPT_HEADER, 0);
curl_setopt($ch19, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch19, CURLOPT_COOKIEFILE, $cookie_file);
$content12 = curl_exec($ch19);
file_put_contents("./content0/31-35/net" . $k . ".txt", $content12); //文件存放的位置
}
php 模拟登陆(不带验证码)采集数据的更多相关文章
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...
- 使用webdriver+urllib爬取网页数据(模拟登陆,过验证码)
urilib是python的标准库,当我们使用Python爬取网页数据时,往往用的是urllib模块,通过调用urllib模块的urlopen(url)方法返回网页对象,并使用read()方法获得ur ...
- c# 使用 HttpWebRequest模拟登陆(附带验证码)
在C#中,可以使用HttpWebRequest进行相关的模拟登陆,登陆后进行相关的操作,比如抓取数据,页面分析,制作相关登陆助手等等. 先说下流程 1.使用httpwebrequest先进入你要登录的 ...
- 用session模拟登陆,手动输入验证码
# 本练习是模拟登陆及验证码处理(把验证码下载到本地后手动输入) # 1 通过分析页面获得form表单的登陆接口为 action="https://www.douban.com/accoun ...
- python requests 模拟登陆网站,抓取数据
抓取页面数据的时候,有时候我们需要登陆才可以获取页面资源,那么我们需要登陆以后才可以跳转到对应的资源页面,那么我们需要通过模拟登陆,登陆成功以后再次去抓取对应的数据. 首先我们需要通过手动方式来登陆一 ...
- 爬虫模拟登陆之formdata表单数据
首先HTTP协议是个无连接的协议,浏览器和服务器之间是以循环往复的请求回复来交互的,交互的形式是以文件形式来进行的.比如在chrome开发者工具network中看到了 每一行是一个文件,又文件大小啊, ...
- scrapy 知乎的模拟登陆及抓取用户数据
最近看了python的scrapy 框架并用其抓取了部分知乎用户数据,代码主要是集中在知乎登陆和抓取时候的逻辑处理上. 1. 首先进入知乎登陆页面zhihu.com/#sigin上, 用xpath提取 ...
- python模拟艺龙网登录带验证码输入
1.使用urllib与urllib2包 2.使用cookielib自动管理cookie 3.360浏览器F12抓信息 登录请求地址和验证码地址都拿到了如图 # -*- coding: utf-8 -* ...
- c# 使用 HttpWebRequest模拟登陆
c# 使用 HttpWebRequest模拟登陆(附带验证码) 分类: C# .net2010-06-04 00:50 35647人阅读 评论(43) 收藏 举报 c#exceptionstreams ...
随机推荐
- 如何在SVN服务器上创建项目
1,首先你的电脑上安装了SVN的服务器 VisualSVN-Server-3.7.1-x64.msi 2,打开SVN服务器后,可以看到分布的目录是 Repositories.Users.Groups. ...
- Installation of the latest version of netease-cloud-music on Fedora 30 linux platform
Installation of the latest version of netease-cloud-music on Fedora 30 linux platform Abtract As we ...
- 详解webpack4打包--新手入门(填坑)
注意,这个dev和build好像在哪儿见过??对了, 刚刚才在package.json里配置的“scripts”这一项的值就有“dev”和“build”.对,一点都不错,就是这2个值,这2个值代表的是 ...
- ssh免口令密码登录及兼容性处理
1). client ---> server 客户端发起对服务器的连接,登录服务器. 2). 须在客户端生成密钥对 注意: 公钥加密私钥解:私钥加密公钥解. 可以发布公钥,但私钥是不能出本机的. ...
- Mybatis中dao层实现
在上一个笔记中继续: 因为要基于dao层,那么我们只需要又一个dao的接口,和一个mapper的文件就可以测试了. 但是基于dao层的时候需要规范: Mapper.xml文件中的namespace与m ...
- Debug to add expression
Debug expression
- [Luogu2014]选课(树形dp)
[Luogu2014]选课 题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有N门功课 ...
- xcopy忽略文件 7zip打包
xcopy src target /Y /r /d /k /f /s /exclude:%cd%\xcopy.config xcopy.config\assets\\tet\ 7z.exe a -tz ...
- 反射getDeclaredFields()
public static void main(String[] args) { // 获取所有属性值 Field[] fields = People.class.getDeclaredFields( ...
- alert(1) to win
一. function escape(s) { return '<script>console.log("'+s+'");</script>'; } 两种思 ...