PHP 模拟浏览器 CURL 采集阿里巴巴

 都说阿里巴巴有不能采集和防采集的神话,今天就用张老师讲的Curl采集写了一个模拟浏览器的代码。没有不可能只有不去做,哈哈

<?php

set_time_limit(0);

function _rand() {

$length=26;

$chars = "0123456789abcdefghijklmnopqrstuvwxyz";

$max = strlen($chars) - 1;

mt_srand((double)microtime() * 1000000);

$string = '';

for($i = 0; $i < $length; $i++) {

$string .= $chars[mt_rand(0, $max)];

}

return $string;

}

$HTTP_SESSION=_rand();

$HTTP_SESSION;

$HTTP_Server="search.china.alibaba.com";

$HTTP_URL="/company/k-%CB%AE%CB%AE%CB%AE_n-y.html";

$ch = curl_init();

curl_setopt ($ch,CURLOPT_URL,"http://".$HTTP_Server.$HTTP_URL);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");

$res = curl_exec($ch);

curl_close ($ch);

print_r($res);

?>

时间: 2024-10-01 08:48:13

PHP 模拟浏览器 CURL 采集阿里巴巴的相关文章

php-【PHP求助】通过PHP Curl模拟浏览器远程抓取内容

问题描述 [PHP求助]通过PHP Curl模拟浏览器远程抓取内容 需要抓取的内容:页面做了限制:http://my.taobao.com/UvFc0vF8uvmx0vgTT 如图所示: 解决方案 你找到淘宝网的登陆接口,自己用账户名和密码发送到接口登陆后获取返回的cookie,后续的请求附带上获取的cookie信息就行. 也有个偷懒的办法,就是自己用浏览器先登录淘宝.然后用浏览器开发工具查看获取到的cookie信息,将这些cookie信息附带到你的php请求里面就行了,可以省略模拟登陆那个步骤

php curl采集高手请进

问题描述 php curl采集高手请进 http://www.lecai.com/ 这个网站怎么用php/url技术进行模拟登录?求参考程序..... 解决方案 我大致看了一下,个人习惯使用Snoopy.class.php模拟登陆,觉得不好可以忽略 POST http://www.lecai.com/user/ajax_login.php HTTP/1.1Host: www.lecai.comUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:3

在Python中使用mechanize模块模拟浏览器功能

  这篇文章主要介绍了在Python中使用mechanize模块模拟浏览器功能,包括使用cookie和设置代理等功能的实现,需要的朋友可以参考下 知道如何快速在命令行或者python脚本中实例化一个浏览器通常是非常有用的. 每次我需要做任何关于web的自动任务时,我都使用这段python代码去模拟一个浏览器. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import mechanize import cookielib # Br

Node.js模拟浏览器文件上传示例

 这篇文章主要介绍了Node.js模拟浏览器文件上传的实现代码,需要的朋友可以参考下 OSChina上发过了,那个也是我的,现在放到这来,哈哈     代码如下: var path=require("path");  var fs=require("fs");  var http=require("http");    //post值payload  var getfield=function(field, value) {  return 'C

java.net.URLConnection类_java模拟浏览器

最近做个产品要用爬虫获得信息,可是这个网页要模拟浏览器输出,我参考了网上很多setRequestProperty里面User-Agent都写得Mozilla/5.0结果还是不能访问,最后研究了一下写出来了. public static String URLPostConnReturnHtml(String ip){ URL url = null ;HttpURLConnection conn = null ;BufferedReader br = null ;InputStreamReader

对抗模拟浏览器的DDoS攻击

 本文讲的是 :  对抗模拟浏览器的DDoS攻击  , 收藏该文基于浏览器的僵尸网络就是DDoS世界里的T-1000s.他们之所以如此危险是因为他们就跟终结者里的反派一样,被设计的可以适应各种情况的攻击.当其他原始的网络僵尸还在暴力破解你的防御的时候,基于浏览器的僵尸就已经模拟真实的人类从前门进入了. 当你意识到情况不对时,他们已经突破边界,搞宕服务器,已经无力回天了. 那么应该怎么防御T-1000呢,怎么分辨一次访问是来自与真实的浏览器还是一个基于浏览器的僵尸?传统的过滤僵尸的策略在面对能够保

php curl采集含__EVENTVALIDATION的asp网页

问题描述 php curl采集含__EVENTVALIDATION的asp网页 正在用php的curl抓取页面信息时,遭遇asp的__VIEWSTATE和__EVENTVALIDATION 有搜到博客提供的方法,但有一个关键问题(也可能是白痴的问题):action是空的, CURLOPT_URL 怎么写? 写表单所在页面不行,空的不行,有个博客这样写http://???/default.aspx,也不行,真心求解 解决方案 你的提交js是怎么写的, 如果要提交 var from = docume

post、get模拟浏览器访问能留下记录

问题描述 post.get模拟浏览器访问能留下记录 求代码.................................... 解决方案 推荐你用 httpclient 和 jsoup 结合用 http://www.sh0745.com/java/201501/20121513.html http://www.sh0745.com/java/201501/19223542.html 看看这两篇文章 解决方案二: 你说的是httpclient等后台方式访问留下历史记录? 如果这种分两步: 1.

android 使用 模拟浏览器,无法得到返回值

问题描述 android 使用 模拟浏览器,无法得到返回值 代码如下,根据输入的url地址来返回状态码. 可是,httpconnection.getResponseCode();返回的都是200,没有实际返回访问值. 请高手指点. public String stat_is(String strurl) { HttpURLConnection httpconnection; int rcode=0; String respon = "ok"; httpconnection = null