最新刚开始学习golang,又遇到客户用了禾匠的小程序,不过遇到了采集淘宝失效的问题,正好就拿go来练练手吧
最近有非程序员加我,问我怎样用,懂代码的话 拿去直接用,不懂代码的话可以联系我帮忙给集成到自己的系统(当然肯定不是免费的),说明下 此程序只采集了 标题 价格 图片 详情,没有采集其他内容,要采集其他内容 请自行修改
问题联系qq 910297279
代码如下:

// main.go
package mainimport ("encoding/json""fmt""io/ioutil""net/http""strings""github.com/tidwall/gjson"
)const desc_url string = "https://h5api.m.taobao.com/h5/mtop.taobao.detail.getdesc/6.0/?jsv=2.4.11&appKey=12574478&t=1563268218883&sign=431e971830c19facd85e34d5f18fcbfb&api=mtop.taobao.detail.getdesc&v=6.0&type=jsonp&dataType=jsonp&timeout=20000&callback=mtopjsonp1&data=%7B\"id\"%3A\"{itemid}\"%2C\"type\"%3A\"0\"%2C\"f\"%3A\"TB1XdYqahz1gK0jSZSg8quvwpla\"%7D"
const attr_url string = "https://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?jsv=2.5.1&appKey=12574478&t=1563326311049&sign=7bfc98a543f28ac2dbb5213b4d230115&api=mtop.taobao.detail.getdetail&v=6.0&isSec=0&ecode=0&AntiFlood=true&AntiCreep=true&H5Request=true&ttid=2018%40taobao_h5_9.9.9&type=jsonp&dataType=jsonp&callback=mtopjsonp1&data=%7B%22ft%22%3A%22t%22%2C%22id%22%3A%22{itemid}%22%2C%22hybrid%22%3A%22true%22%2C%22tg_key%22%3A%22jhs%22%2C%22v%22%3A%220%22%2C%22spm%22%3A%220.0.6951042979.d5%22%2C%22_from%22%3A%22h5%22%2C%22forceH5%22%3A%22YES%22%2C%22itemNumId%22%3A%22{itemid}%22%2C%22exParams%22%3A%22%7B%5C%22ft%5C%22%3A%5C%22t%5C%22%2C%5C%22id%5C%22%3A%5C%22{itemid}%5C%22%2C%5C%22hybrid%5C%22%3A%5C%22true%5C%22%2C%5C%22tg_key%5C%22%3A%5C%22jhs%5C%22%2C%5C%22v%5C%22%3A%5C%220%5C%22%2C%5C%22spm%5C%22%3A%5C%220.0.6951042979.d5%5C%22%2C%5C%22_from%5C%22%3A%5C%22h5%5C%22%2C%5C%22forceH5%5C%22%3A%5C%22YES%5C%22%7D%22%2C%22detail_v%22%3A%228.0.0%22%2C%22utdid%22%3A%221%22%7D"type Taobaodata struct {Title       string   `json:"title"`Subtitle    string   `json:"subtitle"`Sale_count  int      `json:"sale_count"`Sale_price  string   `json:"sale_price"`PicsPath    []string `json:"picsPath"`Detail_info string   `json:"detail_info"`
}type Redata struct {Code int        `json:"code"`Data Taobaodata `json:"data"`
}func between(str, starting, ending string) string {s := strings.Index(str, starting)if s < 0 {return ""}s += len(starting)e := strings.Index(str[s:], ending)if e < 0 {return ""}return str[s : s+e]
}func httpGet(url string) string {resp, err := http.Get(url)if err != nil {return ""}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {return ""}return string(body)
}
func getAttr(itemid string) string {return httpGet(strings.Replace(attr_url, "{itemid}", itemid, -1))
}func getDesc(itemid string) string {return httpGet(strings.Replace(desc_url, "{itemid}", itemid, -1))
}func IndexHandler(w http.ResponseWriter, r *http.Request) {var itemid stringquery := r.URL.Query()if len(query["id"]) > 0 {itemid = query["id"][0]} else {fmt.Fprintln(w, "产品参数不能为空")return}attr := getAttr(itemid)desc := getDesc(itemid)mockData := strings.ReplaceAll(gjson.Get(attr, "data.mockData").String(), "\\", "")Detail_info := gjson.Get(desc, "data.wdescContent.pages").String()var content []stringvar text stringjson.Unmarshal([]byte(Detail_info), &content)for _, value := range content {if strings.Contains(value, "</img>") {text += "<img src='" + between(string(value), ">", "</img>") + "' />"}if strings.Contains(value, "</txt>") {text += "<p>" + between(string(value), ">", "</txt>") + "</p>"}}var pic []stringjson.Unmarshal([]byte(gjson.Get(attr, "data.item.images").String()), &pic)var taobao Taobaodatataobao.Title = gjson.Get(attr, "data.item.title").String()taobao.Subtitle = gjson.Get(attr, "data.item.subtitle").String()taobao.PicsPath = pictaobao.Sale_price = gjson.Get(mockData, "price.price.priceText").String()taobao.Sale_count = 0taobao.Detail_info = textreturn_data := Redata{Code: 0, Data: taobao}jsons, errs := json.Marshal(return_data) //转换成JSON返回的是byte[]if errs != nil {fmt.Println(errs.Error())}fmt.Fprintln(w, string(jsons))
}func main() {http.HandleFunc("/", IndexHandler)if err := http.ListenAndServe(":9999", nil); err != nil {fmt.Println(err)}
}

golang采集淘宝产品详情信息 解决禾匠小程序 采集淘宝失效的问题相关推荐

  1. 淘宝产品描述信息 采集产品描述信息时显示为加载中

    采集 淘宝产品描述信息 分类:PHP2009-12-16 14:48 921人阅读 评论(1) 收藏 举报 产品javascripturl 昨天采集淘宝的一些产品信息时遇到一个问题: 在采集产品描述信 ...

  2. 微信小程序跟淘宝的对比,做生意的必看

    对中国几百万淘宝卖家来说,马云曾是顶礼膜拜的英雄人物.因了马云打造的淘宝,中国传统商业被颠覆,线下实体被蚕食,崭露头角的是做淘宝发家的一批批电商们!而微信正式推出小程序后,以此宣告腾讯新电商之门的开启 ...

  3. 你的产品适不适合做微信小程序?你需要这篇产品逻辑分析

    自2017年1月9日张小龙宣布万众瞩目的"微信小程序"正式上线了.以名字看,感觉像是突出了"将你的程序接入微信"的意思. 我们此前分析过微信的功能迭代节奏:一般 ...

  4. 基于小程序开发的宝可梦图鉴小程序源码课程设计毕业设计

    源码地址:基于小程序开发的宝可梦图鉴小程序源码课程设计毕业设计 宝可梦是一款备受喜爱的游戏,其丰富的剧情和可爱的角色深受玩家们的喜欢.而对于宝可梦爱好者来说,一款好的宝可梦图鉴是必不可少的.今天,我来 ...

  5. 微信小程序仿淘票票之登录注册讲解

    微信小程序仿淘票票之登录注册讲解(这也是我学习的第一步嘛) 前言 一.登录以及注册的业务逻辑 二.核心代码 1.register代码 2.login代码 总结 前言 愉快的期末,终于结束了,我准备把程 ...

  6. 小程序采集助手的优点,你知道吗?

    在如今信息化的时代,数据已经成为了一种非常重要的资源.而对于很多企业或个人来说,数据的获取则是一个非常重要的问题.这时候,小程序采集助手就可以派上用场了.本文将从以下几个方面详细介绍小程序采集助手的使 ...

  7. 获取小程序用户信息+java_java获取微信小程序用户信息

    第一步:获取openid.session_key等信息. /** * 获取微信小程序的用户openid和session_key/unionid * 返回格式:{"session_key&qu ...

  8. 解决微信小程序video属性controls失效问题

    解决微信小程序video属性controls失效问题 参考文章: (1)解决微信小程序video属性controls失效问题 (2)https://www.cnblogs.com/lguow/p/92 ...

  9. 添加公司信息-公司宣传型小程序源代码下载1-视频教程24

    企业宣传型小程序对中小企业非常实用, 可以直接在子恒老师的小程序平台中下载, 主要有3个步骤: 1. 填写公司信息 2. 填写小程序信息 3. 生成小程序源代码并下载 我们会详细讲解这三个步骤, 今天 ...

最新文章

  1. 无需用眼,大脑直接成像,失明的人也能重新「看见」|Science
  2. js学习(4) 函数
  3. php中静态方法的调用,php中静态方法和非静态方法如何相互调用?
  4. 关于MYsql 多字段排序
  5. html中字体响应式怎么写,css字体单位之间的区分以及字体响应式实现_html/css_WEB-ITnose...
  6. PostgreSQL环境变量
  7. Linux:CPU使用率100%排查方法
  8. vue中input多选_vue.js动态添加删除文本框input、下拉框select、单选radio、多选checkbox的方案。...
  9. 什么是P问题、NP问题和NPC问题
  10. 511遇见易语言教程外形框和模仿进度条闪烁效果
  11. python json对比差异,更新json数据
  12. 手把手搭个vue的脚手架 - 2. 模板搭建
  13. datax(25):插件加载原理
  14. ★关于人类体质弱化的分析
  15. 什么是公司Offer里的RSU?
  16. Memcached 简介
  17. 搜狐云景client工具评測之WordPress的搭建
  18. jquery 时间戳与日期转换
  19. 雄霸迈阿密java_罪恶都市3之雄霸迈阿密
  20. mybatis关系映射之一对多和多对一

热门文章

  1. 计算机低温工作解决方案,整套解决方案:半导体制冷计算机CPU的恒温散热研究...
  2. 测试轮播banner
  3. 解决VScode 与 Linux Rime 中州韵输入法 CTRL+~ 热键冲突
  4. 面向对象系统分析与设计,让你真正了解什么是面向对象(傻瓜式讲解)
  5. QT 编译报错:error: no macro name given in #define directive
  6. Java图商地图(百度、高德、腾讯)路线规划
  7. 小米13 Pro天玑版屏幕参数怎么样? 小米13 Pro天玑版电池容量多少 续航怎么样?
  8. 电机编码器调零步骤_各种编码器的调零办法
  9. 从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!
  10. QQ群文件如何快速下载