CURL的模拟登录和抓取页面
<?php
$curl = curl_init();// 初始化
// 准备提交的表单数据之账号和密码。(这个是根据表单选项来的)
$data = "_username=604989282@qq.com&_password=6481485" ;
// 这个配置是为了防盗链,
curl_setopt($curl,CURLOPT_REFERER,"http://www.ydma.cn/");
// 基本配置
curl_setopt($curl, CURLOPT_URL, 'http://www.ydma.cn/login/check');// 网址
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);// 不输出
curl_setopt($curl, CURLOPT_POST, 1);// POST方式
curl_setopt($curl, CURLOPT_POSTFIELDS,$data);// POST数据
curl_setopt($curl, CURLOPT_HTTPHEADER, array(// 头部信息类型
"content-type: application/x-www-form-urlencoded",
)); // Cookie相关设置
date_default_timezone_set("PRC");
curl_setopt($curl,CURLOPT_COOKIESESSION,TRUE);// 开启cookie和session
curl_setopt($curl,CURLOPT_COOKIEFILE,"cookiefile");// 存储名称
curl_setopt($curl,CURLOPT_COOKIEJAR,"cookiefile");// 存储名称
curl_setopt($curl,CURLOPT_COOKIE,session_name()."=".session_id());// 存储的是session_name()和session_id() curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);// 设置可以跳转
curl_setopt($curl,CURLOPT_HEADER,0);// 不去打印头部信息 curl_setopt($curl,CURLOPT_REFERER,"http://www.ydma.cn/"); // 设置一下跳转页面
// curl_setopt($curl,CURLOPT_URL,"http://www.ydma.cn/user/52897/learn");
curl_setopt($curl,CURLOPT_URL,"http://www.ydma.cn/course/137/preview/lesson/3961"); curl_setopt($curl,CURLOPT_POST,0); curl_setopt($curl,CURLOPT_HTTPHEADER,array("Content-type:text/html")); curl_setopt($curl,CURLOPT_REFERER,"http://www.ydma.cn/"); $res = curl_exec($curl); curl_close($curl); // echo str_replace('src="/files', 'src="http://www.ydma.cn/files', $res); // echo substr_replace($res,"<base href='http://www.ydma.cn/'>",strpos("<head>",$res),0);
echo str_replace("<head>","<head><base href='http://www.ydma.cn/'>",$res);
// echo $res;
页面来源:https://www.jianshu.com/p/682ddef25f55
测试一个网站,因为需要验证码没获取到信息
CURL的模拟登录和抓取页面的更多相关文章
- PHP Curl模拟登录并抓取数据
使用PHP的Curl扩展库可以模拟实现登录,并抓取一些需要用户账号登录以后才能查看的数据.具体实现的流程如下(个人总结): 1. 首先需要对相应的登录页面的html源代码进行分析,获得一些必要的信息: ...
- PHP获取cookie、Token、模拟登录、抓取数据、解析生成json
本文介绍使用PHP获取cookie,获取Token.以及模拟登录.然后抓取数据.最后解析生成json的的过程. 0. 设置Cookie路径 set_time_limit(0); //使用的cookie ...
- Java模拟登录系统抓取内容【转载】
没有看考勤的习惯,导致我的一天班白上了,都是钱啊,系统也不发个邮件通知下.... 为了避免以后还有类似状况特别写了个java模拟登录抓取考勤内容的方法(部分代码来自网络),希望有人修改后也可以 ...
- 基于puppeteer模拟登录抓取页面
关于热图 在网站分析行业中,网站热图能够很好的反应用户在网站的操作行为,具体分析用户的喜好,对网站进行针对性的优化,一个热图的例子(来源于ptengine) 上图中能很清晰的看到用户关注点在那,我们不 ...
- 好用的 curl 抓取 页面的封装函数
由于经常使用php curl 抓取页面的内容,在此mark 平时自己封装的 curl函数,(其实 现在也开始用 Python 来爬了~ ^-^) /** * 封装curl方法 * @author Fr ...
- curl抓取页面时遇到重定向的解决方法
用php的curl抓取网页遇到了问题,为阐述方便,将代码简化如下: <?php function curlGet($url) { $ch = curl_init(); curl_setopt($ ...
- PHP使用CURL抓取页面
cURL的基本原理 curl是利用URL语法在命令行方式下工作的开源文件传输工具,他能够从互联网上获得各种各样的网络资源.简单来说,curl就是抓取页面的升级版. <?php //1.初始化,创 ...
- curl怎么模拟登录进行采集
前几天公司需要模拟登录,从网上找了一下代码,结合谷歌浏览器,进行模拟账号密码进行登录 用谷歌浏览器进行抓包操作,获得登录用参数, 下面上干货: <?php /** * 主要获取登录成功的cook ...
- 搭建谷歌浏览器无头模式抓取页面服务,laravel->php->python->docker !!!
背景: 公司管理系统需要获取企业微信页面的配置参数如企业名.logo.人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程 第一版已经实现了扫码登录获取cookie,使用该cookie就能获 ...
随机推荐
- 项目中redisTemplate设置的key,redis客户端上查询不到的问题
再项目使用了redis储存key,测试需要在客户端删除对应的key,发现查询不到对应的key redis客户端: 发现redisTemplate实际存进去的key会多了几个字符 原因:程序中对key没 ...
- 如何发送一个http请求—apipost
API界面功能布局 API请求参数 Header 参数 你可以设置或者导入 Header 参数,cookie也在Header进行设置 Query 参数 Query 支持构造URL参数,同时支持 RES ...
- python3 Redis利用脚本
### Redis weakpassword # 获取password def passwd_dict(dict): with open(str(password_dict), 'r', encodi ...
- 心态崩了,我怎么知道实际生产环境的 B+ 树索引有多少层?
Q:在实际生产环境中,InnoDB 中一棵 B+ 树索引一般有多少层?可以存放多少行数据? 关于这个问题最近好像在牛客上经常看到,感觉没啥意义,可能主要考察的是对 B+ 索引的理解吧.先上答案: A: ...
- Dapps-是一个跨平台的应用服务商店
简介 Dapps 是一个跨平台的应用商店,包含众多软件,基于docker dapps是什么? 它是一个应用程序商店,包含丰富的软件,因为基于docker,使你本机电脑有云开发的效果. 一键安装程序:多 ...
- flutter中修改键盘状态
当用户进行表格输入时,为更方便的方便用户操作,我们需要设置键盘状态方便用户点击,如当表格填写完成时,用户可以直接点击键盘下面的"完成"状态完成提交. 实现如下: TextFormF ...
- 对Web(Springboot + Vue)实现文件下载功能的改进
此为 软件开发与创新 课程的作业 对已有项目(非本人)阅读分析 找出软件尚存缺陷 改进其软件做二次开发 整理成一份博客 原项目简介 本篇博客所分析的项目来自于 ジ绯色月下ぎ--vue+axios+sp ...
- "image watch" for QtCreator
Image Watch Image Watch 是Visual Studio的一个插件,用来在C++ 调试时显示内存中的位图图像.可以直观的看到图像的变化而不用添加额外的显示代码.其内建了对OpenC ...
- 【转】new和malloc的区别
1. 申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存. 自由存储区是C++基于new操作符的一个抽象概念,凡是通过n ...
- 【java虚拟机】垃圾回收机制详解
作者:平凡希 原文地址:https://www.cnblogs.com/xiaoxi/p/6486852.html 一.为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分 ...