最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬取數(shù)據(jù)并實(shí)現(xiàn)可視化代碼解析

 更新時(shí)間:2020年08月12日 14:56:46   作者:悄悄成長(zhǎng)  
這篇文章主要介紹了Python爬取數(shù)據(jù)并實(shí)現(xiàn)可視化代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這次主要是爬了京東上一雙鞋的相關(guān)評(píng)論:將數(shù)據(jù)保存到excel中并可視化展示相應(yīng)的信息

主要的python代碼如下:

文件1

#將excel中的數(shù)據(jù)進(jìn)行讀取分析
import openpyxl
import matplotlib.pyplot as pit #數(shù)據(jù)統(tǒng)計(jì)用的
wk=openpyxl.load_workbook('銷(xiāo)售數(shù)據(jù).xlsx')
sheet=wk.active #獲取活動(dòng)表
#獲取最大行數(shù)和最大列數(shù)
rows=sheet.max_row
cols=sheet.max_column
lst=[] #用于存儲(chǔ)鞋子碼數(shù)
for i in range (2,rows+1):
  size=sheet.cell(i,3).value
  lst.append(size)
#以上已經(jīng)將excel中的數(shù)據(jù)讀取完畢
#一下操作就你行統(tǒng)計(jì)不同碼數(shù)的數(shù)量
'''python中有一個(gè)數(shù)據(jù)結(jié)構(gòu)叫做字典,使用鞋碼做key,使用銷(xiāo)售數(shù)量做value'''
dic_size={}
for item in lst:
  dic_size[item]=0

for item in lst:
  for size in dic_size:
    #遍歷字典
    if item==size:
      dic_size[size]+=1
      break
for item in dic_size:
  print(item,dic_size[item])
#弄成百分比的形式
lst_total=[]
for item in dic_size:
  lst_total.append([item,dic_size[item],dic_size[item]/160*1.0])

#接下來(lái)進(jìn)行數(shù)據(jù)的可視化(進(jìn)行畫(huà)餅操作)
labels=[item[0] +'碼'for item in lst_total] #使用列表生成式,得到餅圖的標(biāo)簽
fraces=[item[2] for item in lst_total] #餅圖中的數(shù)據(jù)源
pit.rcParams['font.family']=['SimHei'] #單獨(dú)的表格亂碼的處理方式
pit.pie(x=fraces,labels=labels,autopct='%1.1f%%')
#pit.show()進(jìn)行結(jié)果的圖片的展示
pit.savefig('圖.jpg')

文件2

#所涉及到的是requests和openpyxl數(shù)據(jù)的存儲(chǔ)和數(shù)據(jù)的清洗以及統(tǒng)計(jì)然后就是matplotlib進(jìn)行數(shù)據(jù)的可視化
#靜態(tài)數(shù)據(jù)點(diǎn)擊element中點(diǎn)擊發(fā)現(xiàn)在html中,服務(wù)器已經(jīng)渲染好的內(nèi)容,直接發(fā)給瀏覽器,瀏覽器解釋執(zhí)行,
#動(dòng)態(tài)數(shù)據(jù):如果點(diǎn)擊下一頁(yè)。我們的地址欄(加后綴但是前面的地址欄沒(méi)變也算)(也可以點(diǎn)擊2和3頁(yè))沒(méi)有發(fā)生任何變化說(shuō)明是動(dòng)態(tài)數(shù)據(jù),說(shuō)明我們的數(shù)據(jù)是后來(lái)被渲染到html中的。他的數(shù)據(jù)根本不在html中的。
#動(dòng)態(tài)查看network然后用的url是network里面的headers
#安裝第三方模塊輸入cmd之后pip install 加名字例如requests
import requests
import re
import time
import json
import openpyxl #用于操作 excel文件的
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}#創(chuàng)建頭部信息
def get_comments(productId,page):
  url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId={0}&score=0&sortType=5&page={1}&pageSize=10&isShadowSku=0&fold=1".format(productId,page)
  resp = requests.get(url, headers=headers)
  s=resp.text.replace('fetchJSON_comment98(','')#進(jìn)行替換操作。獲取到所需要的相應(yīng)的json,也就是去掉前后沒(méi)用的東西
  s=s.replace(');','')
  json_data=json.loads(s)#進(jìn)行數(shù)據(jù)json轉(zhuǎn)換
  return json_data

#獲取最大頁(yè)數(shù)
def get_max_page(productId):
  dis_data=get_comments(productId,0)#調(diào)用剛才寫(xiě)的函數(shù)進(jìn)行向服務(wù)器的訪問(wèn)請(qǐng)求,獲取字典數(shù)據(jù)
  return dis_data['maxPage']#獲取他的最大頁(yè)數(shù)。每一頁(yè)都有最大頁(yè)數(shù)

#進(jìn)行數(shù)據(jù)提取
def get_info(productId):
  max_page=get_max_page(productId)
  lst=[]#用于存儲(chǔ)提取到的商品數(shù)據(jù)
  for page in range(1,max_page+1):
    #獲取沒(méi)頁(yè)的商品評(píng)論
    comments=get_comments(productId,page)
    comm_list=comments['comments']#根據(jù)comnents獲取到評(píng)論的列表(每頁(yè)有10條評(píng)論)
    #遍歷評(píng)論列表,獲取其中的相應(yīng)的數(shù)據(jù)
    for item in comm_list:
      #每條評(píng)論分別是一字典。在繼續(xù)通過(guò)key來(lái)獲取值
      content=item['content']
      color=item['productColor']
      size=item['productSize']
      lst.append([content,color,size])#將每條評(píng)論添加到列表當(dāng)中
    time.sleep(3)#防止被京東封ip進(jìn)行一個(gè)時(shí)間延遲。防止訪問(wèn)次數(shù)太頻繁
  save(lst)

def save(lst):
  #把爬取到的數(shù)據(jù)進(jìn)行存儲(chǔ),保存到excel中
  wk=openpyxl.Workbook()#用于創(chuàng)建工作簿對(duì)象
  sheet=wk.active #獲取活動(dòng)表(一個(gè)工作簿有三個(gè)表)
  #遍歷列表將數(shù)據(jù)添加到excel中。列表中的一條數(shù)據(jù)在表中是一行
  biaotou='評(píng)論','顏色','大小'
  sheet.append(biaotou)
  for item in lst:
    sheet.append(item)
  #將excel保存到磁盤(pán)上
  wk.save('銷(xiāo)售數(shù)據(jù).xlsx')


if __name__=='__main__':
  productId='66749071789'
  get_info(productId)
  print("ok")

實(shí)現(xiàn)的效果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談python的深淺拷貝以及fromkeys的用法

    淺談python的深淺拷貝以及fromkeys的用法

    這篇文章主要介紹了python的深淺拷貝以及fromkeys的用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python?Pandas中的分組聚合操作詳解

    Python?Pandas中的分組聚合操作詳解

    Pandas是Python中用于數(shù)據(jù)分析的重要工具,提供了豐富的數(shù)據(jù)操作方法,本文將介紹?Pandas?中的數(shù)據(jù)分組方法以及不同的聚合操作,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-11-11
  • Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法

    Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法

    這篇文章主要介紹了Python?ORM框架之SQLAlchemy?的基礎(chǔ)用法,ORM全稱?Object?Relational?Mapping對(duì)象關(guān)系映射,更多詳細(xì)內(nèi)容需要的小伙伴課題參考下面文章介紹。希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • Python設(shè)計(jì)模式之迭代器模式原理與用法實(shí)例分析

    Python設(shè)計(jì)模式之迭代器模式原理與用法實(shí)例分析

    這篇文章主要介紹了Python設(shè)計(jì)模式之迭代器模式原理與用法,結(jié)合具體實(shí)例形式分析了迭代器模式的概念、原理、定義及使用方法,代碼注釋說(shuō)明簡(jiǎn)單易懂,需要的朋友可以參考下
    2019-01-01
  • Python開(kāi)發(fā)的單詞頻率統(tǒng)計(jì)工具wordsworth使用方法

    Python開(kāi)發(fā)的單詞頻率統(tǒng)計(jì)工具wordsworth使用方法

    wordsworth是字母,單詞和n元組頻率分析,用來(lái)分析文件中的單詞出現(xiàn)頻率的工具。
    2014-06-06
  • 通俗易懂了解Python裝飾器原理

    通俗易懂了解Python裝飾器原理

    這篇文章主要介紹了通俗易懂了解Python裝飾器原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 使用Python實(shí)現(xiàn)租車(chē)計(jì)費(fèi)系統(tǒng)的兩種方法

    使用Python實(shí)現(xiàn)租車(chē)計(jì)費(fèi)系統(tǒng)的兩種方法

    本文通過(guò)兩種方法給大家分享了使用Python實(shí)現(xiàn)租車(chē)計(jì)費(fèi)系統(tǒng),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • python中的多cpu并行編程

    python中的多cpu并行編程

    這篇文章主要介紹了python中的多cpu并行編程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python 刪除列表里所有空格項(xiàng)的方法總結(jié)

    python 刪除列表里所有空格項(xiàng)的方法總結(jié)

    下面小編就為大家分享一篇python 刪除列表里所有空格項(xiàng)的方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python中創(chuàng)建表格詳細(xì)過(guò)程

    Python中創(chuàng)建表格詳細(xì)過(guò)程

    這篇文章主要介紹了Python中創(chuàng)建表格,在python中使用tabulate庫(kù)來(lái)創(chuàng)建表格,并針對(duì)輸出形式進(jìn)行不斷改進(jìn)來(lái)美化輸出效果,并給出了代碼示例。需要的小伙伴可以參考一下
    2022-02-02

最新評(píng)論

金坛市| 灵川县| 重庆市| 承德市| 舟曲县| 普格县| 德安县| 昭平县| 台湾省| 奉节县| 全州县| 凤山市| 漳平市| 通渭县| 长武县| 墨玉县| 绍兴市| 旬阳县| 财经| 大埔区| 岳西县| 涞源县| 克什克腾旗| 航空| 巴楚县| 屏东市| 博客| 枣阳市| 玛多县| 龙里县| 油尖旺区| 邻水| 确山县| 保德县| 枣强县| 瑞丽市| 东明县| 东山县| 天津市| 桂林市| 河西区|