027-21055310

我们只用绿色的食品原料

ror体育零食加工厂,只为您的健康着想

本文摘要:玩过多次双十一运动的小编表现一顿操作猛如虎,一看效果2毛5。浪费时间不说而且未必获得真正的优惠,双十一电商的“明降暗升”已经是默认的潜规则了。打破这种规则很简朴,可以用 Python 写一个定时监控商品价钱的小工具。

ror体育app

ror体育

玩过多次双十一运动的小编表现一顿操作猛如虎,一看效果2毛5。浪费时间不说而且未必获得真正的优惠,双十一电商的“明降暗升”已经是默认的潜规则了。打破这种规则很简朴,可以用 Python 写一个定时监控商品价钱的小工具。

ror体育app

思路第一步抓取商品的价钱存入 Python 自带的 SQLite 数据库天天定时抓取商品价钱使用 pyecharts 模块绘制价钱折线图,让低价一目了然抓取京东价钱从商品详情的页面中打开 F12 控制面板,找到包罗 p.3 的链接,在旁边的 preview 面板中可以看到当前商品价钱def get_jd_price(skuId):sku_detail_url='http://item.jd.com/{}.html'sku_price_url='https://p.3.cn/prices/get?type=1&skuid=J_{}'r=requests.get(sku_detail_url.format(skuId)).contentsoup=BeautifulSoup(r,'html.parser',from_encoding='utf-8')sku_name_div=soup.find('div',class_="sku-name")ifnotsku_name_div:print('您输入的商品ID有误!')returnelse:sku_name=sku_name_div.text.strip()r=requests.get(sku_price_url.format(skuId))price=json.loads(r.text)[0]['p']data={'sku_id':skuId,'sku_name':sku_name,'price':price}returndata把抓取的价钱存入 sqlite 数据库,使用 PyCharm 的 Database 功效建立一个 sqlite 数据库最终将数据插入到数据库#新增definsert(data):conn=sqlite3.connect('price.db')c=conn.cursor()sql='INSERTINTOprice(sku_id,sku_name,price)VALUES("{}","{}","{}")'.format(data.get("sku_id"),data.get("sku_name"),data.get('price'))c.execute(sql)conn.commit()conn.close()#查询defselect(sku_id):conn=sqlite3.connect('price.db')c=conn.cursor()sql='selectsku_id,sku_name,price,timefrompricewheresku_id="{}"orderbytimeasc'.format(sku_id)cursor=c.execute(sql)datas=[]forrowincursor:data={'sku_id':row[0],'sku_name':row[1],'price':row[2],'time':row[3]}datas.append(data)conn.close()returndatas示例效果计划任务使用轻量级的 schedule 模块天天早上 10 点抓取京东价钱这一步骤安装 schedule 模块pipinstallscheduledefrun_price_job(skuId):#使用不占主线程的方式启动计划任务defrun_continuously(interval=1):cease_continuous_run=threading.Event()classScheduleThread(threading.Thread):@classmethoddefrun(cls):whilenotcease_continuous_run.is_set():schedule.run_pending()time.sleep(interval)continuous_thread=ScheduleThread()continuous_thread.start()returncease_continuous_run#天天10点运行,get_jd_price:任务方法,skuId:任务方法的参数schedule.every().day.at("10:00").do(get_jd_price,skuId=skuId)run_continuously()检察历史价钱使用 pytharts 模块绘制折线图,直观的检察每一天的价钱差异datas=select(skuId)defline(datas):x_data=[]y_data=[]fordataindatas:x_data.append(data.get('time'))y_data.append(data.get('price'))(Line().add_xaxis(x_data).add_yaxis(datas[0].get('sku_name'),y_data,is_connect_nones=True).render("商品历史价钱.html"))总结本文抓取了京东商城的价钱,小同伴们也可以修个剧本抓取淘宝的价钱。使用 Python 解决生活中的小小痛点,让钱包不再干瘪。


本文关键词:用,Python,记载,商品,天天,价钱,玩过,多次,双,ror体育app

本文来源:ror体育-www.kc-auction.com