⑴ python輸出三個商品的 總價格怎麼輸出需要詳細代碼
#coding=utf-8
importuniout
goods_1={
'goods_id':'5',
'goods_name':'電',
'goods_money':23333,
'goods_weight':29.22
}
goods_2={
'goods_id':'6',
'goods_name':'風',
'goods_money':253333,
'goods_weight':59.22
}
goods_3={
'goods_id':'7',
'goods_name':'扇',
'goods_money':13333,
'goods_weight':19.22
}
#輸出三個商品的總價格及價格的數據類型、總重量及重量的數據類型。
total_price=goods_1['goods_money']+goods_2['goods_money']+goods_3['goods_money']
total_wei=goods_1['goods_weight']+goods_2['goods_weight']+goods_3['goods_weight']
print('三個商品的總價格是:%s,價格的數據類型:%s,總重量是:%s,重量的數據類型是:%s'%(total_price,type(total_price),total_wei,type(total_wei)))
#輸出10萬以下的商品名稱。
ifgoods_1['goods_money']<100000:
print(goods_1['goods_name'])
ifgoods_2['goods_money']<100000:
print(goods_2['goods_name'])
ifgoods_3['goods_money']<100000:
print(goods_3['goods_name'])
#以列表的形式輸出三個商品的名稱。
name_list=[]
name_list.append(goods_1['goods_name'])
name_list.append(goods_2['goods_name'])
name_list.append(goods_3['goods_name'])
print(name_list)
⑵ 如何爬蟲天貓店鋪數據python
本編博客是關於爬取天貓店鋪中指定店鋪的所有商品基礎信息的爬蟲,爬蟲運行只需要輸入相應店鋪的域名名稱即可,信息將以csv表格的形式保存,可以單店爬取也可以增加一個循環進行同時爬取。
源碼展示
首先還是完整代碼展示,後面會分解每個函數的意義。
# -*- coding: utf-8 -*-
import requests
import json
import csv
import random
import re
from datetime import datetime
import time
class TM_procs(object):
def __init__(self,storename):
self.storename = storename
self.url = ''.format(storename)
self.headers = {
"user-agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 "
"(KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
}
datenum = datetime.now().strftime('%Y%m%d%H%M')
self.filename = '{}_{}.csv'.format(self.storename, datenum)
self.get_file()
def get_file(self):
'''創建一個含有標題的表格'''
title = ['item_id','price','quantity','sold','title','totalSoldQuantity','url','img']
with open(self.filename,'w',newline='') as f:
writer = csv.DictWriter(f,fieldnames=title)
writer.writeheader()
return
def get_totalpage(self):
'''提取總頁碼數'''
num = random.randint(83739921,87739530)
enrl = '/shop/shop_auction_search.do?sort=s&p=1&page_size=12&from=h5&ajson=1&_tm_source=tmallsearch&callback=jsonp_{}'
url = self.url + enrl.format(num)
html = requests.get(url,headers=self.headers).text
infos = re.findall('(({.*}))',html)[0]
infos = json.loads(infos)
totalpage = infos.get('total_page')
return int(totalpage)
def get_procts(self,page):
'''提取單頁商品列表'''
num = random.randint(83739921, 87739530)
enrl = '/shop/shop_auction_search.do?sort=s&p={}&page_size=12&from=h5&ajson=1&_tm_source=tmallsearch&callback=jsonp_{}'
url = self.url + enrl.format(page,num)
html = requests.get(url, headers=self.headers).text
infos = re.findall('(({.*}))', html)[0]
infos = json.loads(infos)
procts = infos.get('items')
title = ['item_id', 'price', 'quantity', 'sold', 'title', 'totalSoldQuantity', 'url', 'img']
with open(self.filename, 'a', newline='') as f:
writer = csv.DictWriter(f, fieldnames=title)
writer.writerows(procts)
def main(self):
'''循環爬取所有頁面寶貝'''
total_page = self.get_totalpage()
for i in range(1,total_page+1):
self.get_procts(i)
print('總計{}頁商品,已經提取第{}頁'.format(total_page,i))
time.sleep(1+random.random())
if __name__ == '__main__':
storename = 'uniqlo'
tm = TM_procs(storename)
tm.main()
上面代碼是選擇了優衣庫作為測試店鋪,直接輸入優衣庫店鋪的域名中關鍵詞即可,最終表格會按照店鋪名稱和時間名詞。
代碼解讀
導入庫說明
requests庫不用多數,爬取網頁的主要庫
json庫是用來解析 json 格式的數據的,也就是 Python 中的字典格式
csv庫是用來創建 csv 表格和保存信息的
random庫是用來生成一個隨機數的,這個代碼中用到了兩次,第一次是生成一個隨機數據去獲取最新的網頁信息而不是緩存信息,第二次是隨機一個時間,來減緩爬蟲速度
re庫是正則,主要用來提取信息
datetime和time都是時間庫,前者一般用來生成當前時間字元串,後者本爬蟲使用設置延遲時間
爬蟲思路
首先通過分析手機端天貓店鋪所有商品的網頁,可以發現每次下滑一頁都有一個 js 被載入,這個 js 的規律可以總結一下;
通過分析可以發現每次請求 js 都可以得到一個關鍵信息,那就是 total_page 這個參數,這也一想就能猜到,就是當前店鋪的總頁碼數,所以可以先取得這個數字,然後使用循環爬取全店商品;
每一頁有24個商品,而請求得到的是一個類似於 json 格式的網頁信息,但是並非是直接的 json,所以可以用正則表達式提取符合 json 格式的部分留用;
將每一頁的信息保存到 csv 表格中,可以直接使用 csv 庫的字典存儲方式,非常方便;
得到了單頁的信息,也得到了總頁碼數,只需要一個循環就可以爬取全店的商品了。
構造爬蟲類
上面代碼依次完成以下操作:
首先整個爬蟲是寫成了一個類,在初始化類的時候需要傳遞一個參數,這個參數就是店鋪的名稱。
然後構造出店鋪的所有商品頁面的前半部分,這部分都是不會變的
接著設置一個請求頭
按照當前時間生成一個以時間為依據的字元串,用來給文件命名,然後賦值給文件名稱,確定保存文件的名稱
最後一句是在類生成的時候就運行這個函數,及生成一個帶有標題的表格,後面會說道這個函數的具體含義
⑶ 用python編寫程序,對顧客購買的商品,讓數量大於等於5件時,打八折,求總價
代碼如下:
⑷ python大數據-爬取趕集轉轉商品信息10萬大數據
爬取轉轉二手商品數據
新增文件 channel_extract.py
新櫻桐建文件 page_parsing.py
打開終端,開啟3個窗口,切換到程序文件塌腔夾中,第一個窗口輸入 mongod , mongo ,好了, mongo 已開啟
第二個窗口輸入 python3 counts.py
第三個窗口輸入 python3 main.py
好了,開始抓取數據了脊衫坦,成功
⑸ 怎樣用python求超市銷售量前五商品
沒表、沒數據,沒欄位、、、
只能說下大致思路:
pandas 讀表,groupby聚合,sort_values(by=銷量,ascending=Flase)
pd.head(5),前五行數據就是。
⑹ python小明買了五個東西,輸入東西的價格,計算東西的和
用C語言寫一個程序,完成以下功能:定義一個結構數組,輸入四種商品的名稱、單價、數量,逐一計算並輸出每種商品的總價,最後輸出單價最高的商品的價格。
注意事項:
注意異常處理。
2.注意代碼編寫和命名規范。
提示演算法(僅供參考):
定義一個結構,包括名稱、單價、數量和總價。
2.通過流轉輸入名稱、單價、數量。
3.計算商品總價,並存入結構中。
4.流通每種商品的總價。
5.判斷並輸出單價最高的商品價格。