再来一个爬虫,PHP cURL 带cookies模拟HTTP

抓取个json数据,不知道哪里错了。遂重写一个

curl

<?php 
header("content-type:text/html;charset=utf8");
$curl = curl_init(‘https://www.phpcto.org/course/19/lesson/170‘);
// 不输出header头信息
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_COOKIE, ‘ PHPSESSID=q406pvav5da7st8q4ov6c482e0‘);
// 伪装浏览器
curl_setopt($curl, CURLOPT_USERAGENT, ‘Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36‘);
// 保存到字符串而不是输出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$rs = curl_exec($curl);
curl_close($curl);
//echo $rs;
$arr=json_decode($rs,true);
print_r($arr);

snoopy

时间: 2024-11-08 16:00:38

再来一个爬虫,PHP cURL 带cookies模拟HTTP的相关文章

PHP CURL获取cookies模拟登录的方法

要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookies,当你没有cookies的时候,直接返回 302 跳转,而且是连续几十个302跳转,根本抓不了数据. 因此,在发送搜索命令时,需要先提取 cookies 并保存,然后利用保存下来的这个cookies再次发送搜索命令即可正常抓数据了.这其实和论坛的模拟登录一个道理,先POST登录,获取cookies

php爬虫(curl) 模拟登陆获取cookie,然后使用cookie查看个人中心

<!-- curl的高级使用 --> <?php //模拟登陆获取cookie保存到电脑 header("content-Type: text/html; charset=UTF-8"); /*$cookie_file = tempnam('d:/', 'cookie');*/ $cookie_file = 'd:/demo.txt'; $login_url="http://www.php-z.com/member.php?mod=logging&a

WebCollector内核解析—如何设计一个爬虫

本文利用WebCollector内核的解析,来描述如何设计一个网络爬虫.我们先来看看两个非常优秀爬虫的设计. Nutch Nutch由apache开源组织提供,主页:http://nutch.apache.org/ Nutch是目前最好的网络爬虫之一,Nutch分为内核和插件两个模块组成,内核控制整个爬取的逻辑,插件负责完成每个细节(与流程无关的细节)的实现.具体分工如下: 内核:控制爬虫按照 Inject -> Generator -> Fetch -> Parse -> Upd

计算复杂性学习2-多带图灵机模拟

上一节用单带图灵机模拟了PAL,其实可以用一种称为多带的图灵机来模拟,就像第一篇文章中介绍的那样,多带图灵机是具有多个读写头的图灵机. 一个k带图灵机可以定义为一个四元组M=(K,Σ,δ,s),其中K,Σ,δ和普通图灵机一样,δ是一个必须反映多带复杂的程序.直观地,和以前一样,δ决定下一个状态,也决定每一串的覆写字符,并通过当前状态和每一根带上的当前字符决定读写头的方向.形式化地,δ是从K×Σ?到(K∪{h,"yes","no"})×(Σ×{←,→,?})k的函数.

用Python实现一个爬虫爬取ZINC网站进行生物信息学数据分析

最近接到实验室的导师交给我的一个任务,就是他们手头有很多smile表达式,格式类似这种:C(=C(c1ccccc1)c1ccccc1)c1ccccc1(这是生物信息学中表达小分子结构的一种常用表达式),他们需要对每个smile表达式在ZINC网站(生物信息学数据网站)上进行搜索,然后找到对应的ZINC号.小分子供应商.构象预测等信息.基本步骤如下: 点击查找之后网页就会跳转到详细信息,我们需要获取它的ZINC号.小分子供应商.构象预测.CAS号等信息,如下: 这一套流程要是靠人工手动完成的话有点

【Heritrix源代码分析4】开始一个爬虫抓取的全流程代码分析

在创建一个job后,就要开始job的运行,运行的全流程如下: 1.在界面上启动job 2.index.jsp 查看上述页面对应的源代码 <a href='"+request.getContextPath()+"/console/action.jsp?action=start'>Start</a> 3.action.jsp String sAction = request.getParameter("action"); if(sAction !

Storm【实践系列-如何写一个爬虫- 对于Protocol进行的封装】

本章描述:对于Protocol的封装 package com.digitalpebble.storm.crawler.fetcher; import com.digitalpebble.storm.crawler.util.Configuration; public interface Protocol {     public ProtocolResponse getProtocolOutput(String url) throws Exception;          public voi

java的一个爬虫

进行抓取页面,我看了一下人家的教程,一般要用到htmlparser用来解析html得到一个网页的相关链接,用httpclient抓取网页数据, 下面是一我写的spider类 package com.openzone.search.spider; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataOutputStream; import java.io.File; import java

一个基础的CURL类

/** * 一个基础的CURL类 * * @author Smala */ class curl{ public $ch; public $cookie = '/cookie'; public $rstr; public $info; public function __construct($ssl=true,$cookieName="tmp.cookie"){ $this -> cookie = dirname(__FILE__)."/".$cookieNa