set_time_limit(0);

date_default_timezone_set("Asia/shanghai");

//自定义抓取图片地址

$url = 'http://item.jd.com/937680.html';

$ip_arr = get_ips();

$ip = trim(get_rand_ip($ip_arr)); //随机ip

$content = get_content_by_url($url, $ip);

//获取标题

preg_match("/

[\s]*

(.*?)/i", $content, $match_title);

if(isset($match_title[1]) && $match_title[1]){

$title = $match_title[1];

echo mb_convert_encoding('标题为:', 'GBK', 'UTF-8') . $title . '
';

}else{

echo mb_convert_encoding('没有获取到标题,程序终止:', 'GBK', 'UTF-8');

exit;

}

//获取价格和图片

preg_match("/\/(\d+)*\./i", $url, $match_id);

if(isset($match_id[1]) && $match_id[1]){

$id = $match_id[1];

//获取价格

$price_url = "http://p.3.cn/prices/mgets?skuIds=J_$id,J_&type=1";

$price_content = file_get_contents($price_url);

if(!empty($price_content)){

$price_content_arr = json_decode($price_content);

echo mb_convert_encoding('商品价格为:', 'GBK', 'UTF-8') . $price_content_arr[0]->p . '
';

}

$img_url = "http://www.jd.com/bigimage.aspx?id=$id";

$img_content = get_content_by_url($img_url, $ip);

$title = preg_replace(array("/\(/", "/\)/", "/\./", "/\*/", "/\?/", "/\//"), array("\(", "\)", "\.", "\*", "\?", "\/"), $title);

preg_match("/

if(isset($match_img[1]) && $match_img[1]){

$img = $match_img[1];

echo mb_convert_encoding('图片地址为:', 'GBK', 'UTF-8') . $img . '
';

echo "
";

}else{

echo mb_convert_encoding('没有获取到图片:', 'GBK', 'UTF-8') . '
';

}

}else{

echo mb_convert_encoding('没有获取到商品id,程序终止:', 'GBK', 'UTF-8');

exit;

}

function get_rand_ip($ip_arr){

if(empty($ip_arr)){

return false;

}

$ip_count = count($ip_arr);

$rand_num = rand(0, $ip_count-1);

return trim($ip_arr[$rand_num]);

}

function get_ips(){

$fp = fopen('ip.txt', 'r+');

$ip_arr = array();

while($line=fgets($fp)){

array_push($ip_arr, $line);

}

fclose($fp);

return $ip_arr;

}

function get_content_by_url($url, $ip = '127.0.0.1'){

if(empty($url)){

return;

}

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.0)');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);

if(!empty($ip)){

curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:' . $ip, 'CLIENT-IP:' . $ip));  //构造IP

}

$content = curl_exec($ch);

return $content;

}

抱歉,没找到上传附件的地方,ip.txt没上传。您可以百度下,有很多ip库,下载一个就能用,一行一个ip

京东返利PHP采集关键字,php 抓取京东产品数据-标题,价格,首图片相关推荐

  1. php天猫列表数据抓取,php 抓取天猫产品数据-标题,价格,首图片

    set_time_limit(0); date_default_timezone_set("Asia/shanghai"); //自定义抓取图片地址 $url = 'http:// ...

  2. php 获取京东商品详情,用正则表达式,抓取京东的商品列表

    用正则表达式,抓取京东的商品列表 保存到服务器 抓取文件 实例 require 'function.php'; $url = 'https://list.jd.com/list.html?cat=73 ...

  3. [Python] python + selenium 抓取 京东商品数据(商品名称,售价,店铺,分类,订单信息,好评率,评论等)

    目录 一.环境 二.简介 三.京东网页分析 1.获取商品信息入口--商品列表链接获取 2.获取商品信息入口--商品详情链接获取 3.商品详情获取 4.商品评论获取 四.代码实现 五.运行结果 六.结语 ...

  4. Python爬虫编程思想(70): 项目实战--抓取京东商城手机销售排行榜

    本文的例子使用requests抓取京东商城手机销售排行榜,并使用pyquery和CSS选择器提取相关的信息,同时将这些信息保存到Excel文件中.本例抓取总排行榜,并单独提取Apple.华为和小米手机 ...

  5. XHR如何爬虫_Python爬虫实战之抓取京东苹果手机评价

    1. 网站分析 本文实现的爬虫是抓取京东商城指定苹果手机的评论信息.使用 requests 抓取手机评论 API 信息,然后通过 json 模块的相应 API 将返回的 JSON 格式的字符串转换为 ...

  6. 抓取京东苹果手机评价!苹果手机质量还是非常不错的!

    1. 网站分析 本文实现的爬虫是抓取京东商城指定苹果手机的评论信息.使用 requests 抓取手机评论 API 信息,然后通过 json 模块的相应 API 将返回的 JSON 格式的字符串转换为 ...

  7. python iphone 爬虫_Python爬虫实战之抓取京东苹果手机评价!

    1. 网站分析 本文实现的爬虫是抓取京东商城指定苹果手机的评论信息.使用 requests 抓取手机评论 API 信息,然后通过 json 模块的相应 API 将返回的 JSON 格式的字符串转换为 ...

  8. 基于python的scrapy爬虫抓取京东商品信息

    这是上的第二节爬虫课程的课后作业:抓取京东某类商品的信息,这里我选择了手机品类. 使用scrapy爬虫框架,需要编写和设置的文件主要有phone.py , pipelines.py , items.p ...

  9. python爬取京东手机参数_python抓取京东小米8手机配置信息

    本文代码是使用python抓取京东小米8手机的配置信息 首先找到小米8商品的链接:https://item.jd.com/7437788.html 然后找到其配置信息的标签,我们找到其配置信息的标签为 ...

  10. python爬取京东图书_Python抓取京东图书评论数据

    Python抓取京东图书评论数据 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python抓取京东图书评论数据.txt ] (友情提示:右键点上行txt文档名- ...

最新文章

  1. tomcat mysql 中文乱码_tomcat 中文乱码, mysql 中文乱码_MySQL
  2. 去重查询_《前端算法系列》数组去重
  3. 同为 Java 开发:有了这些 Java 项目经历,面大厂稳了!
  4. Form 去掉使用格式掩码带来的多余字符
  5. 数据结构--双向链表
  6. 道哥自述:为什么弹性安全网络将诞生最大的人工智能?
  7. EBS ORACLE使用API批量取消销售订单
  8. java 得到checkbox_【JavaWeb】获得选中的checkbox的value
  9. linux线程基础篇----线程同步与互斥
  10. android studio上拉加载,AndroidStudio的PullToRefreshListView简单使用
  11. 双向链表list.h升序排序
  12. 三剑客之 sed详解
  13. 微信开发者工具安装教程
  14. Android修行手册 -初识Chip
  15. yota3无第三方recovery root方法
  16. 夯实Java基础系列8:深入理解Java内部类及其实现原理
  17. js中获取月份date.getMonth()获取的是0-11
  18. JAVA利用第三方平台发送短信验证码
  19. 【训练1】储蓄卡与信用卡
  20. 读书笔记之张潇雨个人投资课

热门文章

  1. ubuntu16如何开wifi
  2. 4入4出Modbus RTU继电器模块说明书
  3. python爬虫爬取网易云音乐歌手信息
  4. php免费翻译接口,利用GOOGLE免费接口翻译成英文
  5. 2022年(2023届)西电计算机保研经历分享(清深、自所、计算所、浙科南、北航、哈工等)
  6. RabbitMQ的ack与nack
  7. 数据库number 对应java_数据库中的number型表示什么
  8. NSUOJ2888最小唯一表示前缀(偷懒的xzj)
  9. 语音识别工具Sphinx4
  10. Mac pro 安装ubuntu系统