京东返利PHP采集关键字,php 抓取京东产品数据-标题,价格,首图片
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("/
(.*?)/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 抓取京东产品数据-标题,价格,首图片相关推荐
- php天猫列表数据抓取,php 抓取天猫产品数据-标题,价格,首图片
set_time_limit(0); date_default_timezone_set("Asia/shanghai"); //自定义抓取图片地址 $url = 'http:// ...
- php 获取京东商品详情,用正则表达式,抓取京东的商品列表
用正则表达式,抓取京东的商品列表 保存到服务器 抓取文件 实例 require 'function.php'; $url = 'https://list.jd.com/list.html?cat=73 ...
- [Python] python + selenium 抓取 京东商品数据(商品名称,售价,店铺,分类,订单信息,好评率,评论等)
目录 一.环境 二.简介 三.京东网页分析 1.获取商品信息入口--商品列表链接获取 2.获取商品信息入口--商品详情链接获取 3.商品详情获取 4.商品评论获取 四.代码实现 五.运行结果 六.结语 ...
- Python爬虫编程思想(70): 项目实战--抓取京东商城手机销售排行榜
本文的例子使用requests抓取京东商城手机销售排行榜,并使用pyquery和CSS选择器提取相关的信息,同时将这些信息保存到Excel文件中.本例抓取总排行榜,并单独提取Apple.华为和小米手机 ...
- XHR如何爬虫_Python爬虫实战之抓取京东苹果手机评价
1. 网站分析 本文实现的爬虫是抓取京东商城指定苹果手机的评论信息.使用 requests 抓取手机评论 API 信息,然后通过 json 模块的相应 API 将返回的 JSON 格式的字符串转换为 ...
- 抓取京东苹果手机评价!苹果手机质量还是非常不错的!
1. 网站分析 本文实现的爬虫是抓取京东商城指定苹果手机的评论信息.使用 requests 抓取手机评论 API 信息,然后通过 json 模块的相应 API 将返回的 JSON 格式的字符串转换为 ...
- python iphone 爬虫_Python爬虫实战之抓取京东苹果手机评价!
1. 网站分析 本文实现的爬虫是抓取京东商城指定苹果手机的评论信息.使用 requests 抓取手机评论 API 信息,然后通过 json 模块的相应 API 将返回的 JSON 格式的字符串转换为 ...
- 基于python的scrapy爬虫抓取京东商品信息
这是上的第二节爬虫课程的课后作业:抓取京东某类商品的信息,这里我选择了手机品类. 使用scrapy爬虫框架,需要编写和设置的文件主要有phone.py , pipelines.py , items.p ...
- python爬取京东手机参数_python抓取京东小米8手机配置信息
本文代码是使用python抓取京东小米8手机的配置信息 首先找到小米8商品的链接:https://item.jd.com/7437788.html 然后找到其配置信息的标签,我们找到其配置信息的标签为 ...
- python爬取京东图书_Python抓取京东图书评论数据
Python抓取京东图书评论数据 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: Python抓取京东图书评论数据.txt ] (友情提示:右键点上行txt文档名- ...
最新文章
- tomcat mysql 中文乱码_tomcat 中文乱码, mysql 中文乱码_MySQL
- 去重查询_《前端算法系列》数组去重
- 同为 Java 开发:有了这些 Java 项目经历,面大厂稳了!
- Form 去掉使用格式掩码带来的多余字符
- 数据结构--双向链表
- 道哥自述:为什么弹性安全网络将诞生最大的人工智能?
- EBS ORACLE使用API批量取消销售订单
- java 得到checkbox_【JavaWeb】获得选中的checkbox的value
- linux线程基础篇----线程同步与互斥
- android studio上拉加载,AndroidStudio的PullToRefreshListView简单使用
- 双向链表list.h升序排序
- 三剑客之 sed详解
- 微信开发者工具安装教程
- Android修行手册 -初识Chip
- yota3无第三方recovery root方法
- 夯实Java基础系列8:深入理解Java内部类及其实现原理
- js中获取月份date.getMonth()获取的是0-11
- JAVA利用第三方平台发送短信验证码
- 【训练1】储蓄卡与信用卡
- 读书笔记之张潇雨个人投资课