使用爬虫库 gathertool

地址: https://github.com/mangenotwork/gathertool
下载: go get github.com/mangenotwork/gathertool
介绍: 轻量级爬虫,接口测试,压力测试库, 提高开发对应场景的golang程序。
库文档: https://pkg.go.dev/github.com/mangenotwork/gathertool

成果截图

执行截图

数据库截图

具体代码

package mainimport ("fmt"gt "github.com/mangenotwork/gathertool""log"
)// 数据库对象
var (host192  = "192.168.0.192"port     = 3306user     = "root"password = "root123"dbName      = "test"DB, _ = gt.NewMysql(host192, port, user, password, dbName)OutTable = "sp_jiage_20220707"Host = "http://www.100ppi.com/mprice/"
)func main(){caseUrl := "http://www.100ppi.com/mprice/mlist-1--%d.html"// 50页for i:=1; i< 51; i++ {// 请求ctx, _ := gt.Get(fmt.Sprintf(caseUrl, i))// 数据提取table := gt.RegHtmlTable(ctx.Html)if len(table) > 0 {trList := gt.RegHtmlTr(table[0])for _, tr := range trList {tdList := gt.RegHtmlTd(tr)if len(tdList) == 0 {continue}spNameHtml := tdList[0]spName := gt.RegHtmlATxt(spNameHtml)[0]spUrl := Host + gt.RegHtmlHrefTxt(spNameHtml)[0]spNoteHtml := tdList[1]spNote := gt.CleaningStr(gt.RegHtmlDivTxt(spNoteHtml)[0])pingpaiHtml := tdList[2]pingpai := gt.RegHtmlTdTxt(pingpaiHtml)[0]baojiaHtml := tdList[3]baojia := gt.CleaningStr(gt.RegHtmlTdTxt(baojiaHtml)[0])baojiaTypeHtml := tdList[4]baojiaType := gt.CleaningStr(gt.RegHtmlTdTxt(baojiaTypeHtml)[0])diziHtml := tdList[5]dizi := gt.CleaningStr(gt.RegHtmlTdTxt(diziHtml)[0])shangjiaHtml := tdList[6]shangjia := ""shangjiaA :=  gt.RegHtmlATxt(shangjiaHtml)if len(shangjiaA) > 0 {shangjia = shangjiaA[0]}else{shangjia = gt.RegHtmlDivTxt(shangjiaHtml)[0]}shangjiaUrl := ""shangjiaUrlList := gt.RegHtmlHrefTxt(spNameHtml)if len(shangjiaUrlList) > 0 {shangjiaUrl = Host + shangjiaUrlList[0]}dateHtml := tdList[7]date := gt.RegHtmlTdTxt(dateHtml)[0]log.Println("商品名称 = ", spName)log.Println("商品详情地址 = ", spUrl)log.Println("规格 = ", spNote)log.Println("品牌/产地 = ", pingpai)log.Println("报价 = ", baojia)log.Println("报价类型 = ", baojiaType)log.Println("交货地 = ", dizi)log.Println("交易商 = ", shangjia)log.Println("交易商详情地址 = ", shangjiaUrl)log.Println("发布时间 = ", date)// 固定字段顺序Map, 写入mysql数据库gd := gt.NewGDMap().Add("sp_name", spName).Add("sp_url", spUrl).Add("sp_note", spNote)gd.Add("pingpai", pingpai).Add("baojia", baojia).Add("baojia_type", baojiaType)gd.Add("dizi", dizi).Add("shangjia", shangjia).Add("shangjia_url", shangjiaUrl)gd.Add("date", date).Add("req_md5", ctx.CheckMd5())err := DB.InsertAtGd(OutTable, gd)if err != nil {panic(err)}}}}
}

golang爬虫抓取商品报价相关推荐

  1. 京东,淘宝,苏宁,亚马逊爬虫抓取商品信息并分析数据(完整文件链接在文章最后)

    1.简单说明 京东,淘宝,苏宁,亚马逊中国 抓取数据,存储到database 并进行分析 2.抓取的DIC the_basic_info = {'search_keyword': self.keywo ...

  2. 爬虫抓取糯米网上所有商家数据

    前段时间写了 爬取美团商家信息的博客 爬虫抓取美团网上所有商家信息 ,这次说说爬取糯米网,由于某些原因无法提供源代码,但是,代码不是关键,最关键的是思想,懂了思想,代码是很容易写的. 爬虫最重要的是分 ...

  3. python 爬虫抓取某电商页面的商品价格

    1. 业务需求 最近想通过爬虫抓取某电商商品页的商品详情, 浏览器页面打开如下: 本来以为是一个很简单的爬虫,却没想到一波三折,并没有那么简单. 2. 付诸实践 接到任务后,就兴冲冲的写了段代码来爬取 ...

  4. python爬取百度贴吧中的所有邮箱_使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号...

    原标题:使用 Python 编写多线程爬虫抓取百度贴吧邮箱与手机号 不知道大家过年都是怎么过的,反正栏主是在家睡了一天,醒来的时候登QQ发现有人找我要一份贴吧爬虫的源代码,想起之前练手的时候写过一个抓 ...

  5. 爬虫抓取页面数据原理(php爬虫框架有很多 )

    爬虫抓取页面数据原理(php爬虫框架有很多 ) 一.总结 1.php爬虫框架有很多,包括很多傻瓜式的软件 2.照以前写过java爬虫的例子来看,真的非常简单,就是一个获取网页数据的类或者方法(这里的话 ...

  6. python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...

    python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07

  7. python爬虫招聘-Python爬虫抓取智联招聘(基础版)

    原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...

  8. python爬取慕课视频-Python爬虫抓取技术的门道

    web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展.然而,正所谓成也萧何败也萧何,开放的特性.搜索引擎以及简单易学的html.css技术使得web成为了互联网领域里 ...

  9. Python学习教程:Python爬虫抓取技术的门道

    Python学习教程:Python爬虫抓取技术的门道 web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展.然而,正所谓成也萧何败也萧何,开放的特性.搜索引擎以及简单 ...

最新文章

  1. 一些关于mathematica的tips
  2. ACM入门之【二分图】
  3. 这台计算机似乎没有安装操作系统_前沿科技 | 浙江大学科学家联合之江实验室成功研制全球神经元规模最大的类脑计算机...
  4. 开源 免费 java CMS - FreeCMS1.2-标签 userList
  5. winxp不加载oracle服务器,WinXP系统开机提示“windwos不能加载用户的配置文件”怎么办...
  6. 3 photolemur 样式_macOS下支持RAW格式的照片编辑工具
  7. 光阴似箭——绿巨人NVIDIA显卡发展简史回顾
  8. threadx系统_实时操作系统(RTOS)市场简报
  9. 如果SQL Server 配置管理器没有找到就代表安装失败?
  10. 机器学习算法之手撕SVM-线性(理论)
  11. matlab 例题sin,matlab基础练习题(带答案).doc
  12. 软考高级 真题 2009年下半年 信息系统项目管理师 论文
  13. 【深度学习】写诗机器人tensorflow实现
  14. 支持Linux系统双网卡ARM平台AM3352/AM3354
  15. 山东理工oj答案java_山东理工大学ACM程序设计竞赛-山东理工ACM主页.DOC
  16. 4r照片尺寸是多大_4r照片尺寸(正常照片是5寸还是6寸)
  17. 十分钟超简单完成百度地图3.0离线功能
  18. 易语言 获取TeamViewerID密码 部分代码
  19. 数据库系统概述之断言
  20. U-boot-2009.08移植(三)支持Nor FLASH

热门文章

  1. Spring security开发权限管理系统(一)
  2. Python 相关文件常见的后缀名详解
  3. (原創) 如何破解ModelSim 6.1f? (IC Design) (ModelSim)
  4. 53. 验证外星语词典
  5. MySQL主从状态检查
  6. Java基础之 Scanner 扫描器
  7. 攻防世界we区newer题目
  8. 2017西安网络赛B_Coin
  9. Socket error Event: 32 Error: 10053.
  10. 数据结构之递归算法解决汉诺塔问题