shopify123.cn--一个shopify自学开店、赚美金的网站!
当前位置:shopify > shopify独立站 > 正文

shopify店铺采集(用python3采集shopify站点商品)s

前段时间收到两个各项任务,要用wordpress+woocommerce创建数百个B2C公交站点,公交站点上能有足够多的货品统计数据。我总之是有他们项目组的,但是现阶段我的项目组就只有我和除此之外两个同僚。那个各项任务的症结是货品统计数据,具体来说想不到的是收集。试著了卢戈韦和八爪鱼,发现并无法满足用户我的市场需求。只好急于用python3来试一试。

虽然并非开发人员,但是我对流程的许多业务流程和路子还是较为介绍的,对于那个各项任务,我的路子是:

第二步:把文本抓下来。

截取网页用requests组件就可以实现了。即使我们要抓的文本闻所未闻是两个网页,所以更要考量循环式截取。

第三步:把文本甄选出来。

一已经开始考量用二阶,而后有意从一两本书上看见,说BeautifulSoup才是最合适的。

第三步:把文本存起来。

即使引入wordpress须要某一的csv文档格式,这里须要考量的就是如何留存为csv文档格式,更要某一的文档格式。

有了下面的大架构,还须要考量许多技术细节问题。比如说互联网不太好的这时候咋办?比如说当取走文本的这时候,文档被挤占后无法取走统计数据咋办?

具体内容的叙述较为累,现在直接发布标识符:

import requests,bs4,csv,os,re,time 收集货品url def shopifylist(url): while True: try: res=requests.get(url,timeout=30) res.encoding = res.apparent_encoding print(允诺,url,状况,res.status_code) res.raise_for_status()#如果回到状况并非200,则放出极度 break except: timeout=3 print(镜像失利,等候,timeout,秒重传) time.sleep(timeout) print() print(再次镜像中) print(镜像通畅,已经开始以获取货品镜像) noStarchSoup=bs4.BeautifulSoup(res.text,html.parser)#html.parser 选定解释器 url=noStarchSoup.select(.product-card.sc-pb-element) for i in range(len(url)): imgurl=https://tribalhollywood.com+url[i].get(href) print(以获取产品url) shopify(imgurl,site)#调用收集文本方法 print(\n) 收集货品url结束 收集货品文本已经开始 def shopify(url,site): print(已经开始允诺产品网页,url) while True: try: res=requests.get(url,timeout=30) res.encoding = res.apparent_encoding print(成功允诺货品网页:,res.status_code) res.raise_for_status()#如果下载发生问题,就放出极度 break except: print(允诺货品网页,url,失利,再次镜像) noStarchSoup=bs4.BeautifulSoup(res.text,html.parser) #匹配class属性为‘wc-block-grid__product-title’的文本 name=noStarchSoup.select(.product-single__title) name=name[0].getText() price=noStarchSoup.select(.product-single__price) price=price[0].getText() price=re.sub(,,price) price=re.sub(\n,,price) #特别注意class="rte product-single__description"只须要product-single__description des=noStarchSoup.select(.product-single__description) des=des[0].getText() des=re.sub(Hollywood,customadd.com,des)#替换版权信息 img=noStarchSoup.select(#ProductThumbs-product-template img) if img==[]: img=noStarchSoup.select(.sc-pb-element1) l=img[0].get(src) l=http:+l l=re.sub(_960x,,l) else: l=[] for i in range(len(img)): imgurl=img[i].get(src) imgurl=re.sub(_160x160,,imgurl) l.append(https:+imgurl) l=,.join(l) fileHeader=[标题,产品url,价格,叙述,图片] file=[name,url,price,des,l] #文档存储的地方,文档夹须要事先创建,并选定文档的文档格式为utf-8 while True: try: csvFile=open(site,a,encoding=utf-8) break except: print() print(site+文档写入失利,重传中。。。。。) time.sleep(5) size=os.path.getsize(site)#判断文档大小,如果文档大于0则表示文档有内 writer=csv.writer(csvFile) if size==0: writer.writerow(fileHeader) writer.writerow(file) csvFile.close() else: writer.writerow(file) csvFile.close() print(收集成功!) 收集文本结束 #urlpro=str(input(输入要收集的货品列表)) urlpro=https://www.tribalhollywood.com/collections/mens-necklaces site=D:\Backup\桌面\python3\mens-necklaces1.csv nt=[我并非空的] n=1 while nt!=[]: url=urlpro+?page=+str(n) prourl=shopifylist(url)#调用收集列表方法 print(成功收集,n,) n=n+1 res=requests.get(url) res.raise_for_status() noStarchSoup=bs4.BeautifulSoup(res.text,html.parser) nt=noStarchSoup.select(.next) print(全部收集完毕!!)

献丑了。喜欢玩python3的朋友可以一起交流,我的博客叫:高天宋 http://xinzhesi.com

版权保护: 本文由 shopify 原创,转载请保留链接: http://www.shopify123.cn/dulizhan/3606.html