Python爬取数据并将数据保存到excel中的方法

  介绍

小编给大家分享一下Python爬取数据并将数据保存到excel中的方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

这次主要是爬了京东上一双鞋的相关评论:将数据保存到excel中并可视化展示相应的信息

主要的Python代码如下:

文件1

#将excel中的数据进行读取分析   进口openpyxl   进口matplotlib。pyplot作为坑#数据统计用的   工作=openpyxl.load_workbook(& # 39;销售数据.xlsx& # 39;)   表=工作。活跃#获取活动表   #获取最大行数和最大列数   行=sheet.max_row   关口=sheet.max_column   lst=[] #用于存储鞋子码数   因为我在范围(2,+ 1行):   大?sheet.cell(我,3)value   lst.append(大小)   #以上已经将excel中的数据读取完毕   #一下操作就你行统计不同码数的数量   & # 39;& # 39;& # 39;python中有一个数据结构叫做字典,使用鞋码做键,使用销售数量做值# 39;& # 39;& # 39;   dic_size={}   lst的项目:   dic_size[项目]=0      lst的项目:   在dic_size大小:   #遍历字典   如果项目==大小:   dic_size(大小)+=1   打破   在dic_size:项   print(项目,dic_size[项目])   #弄成百分比的形式   lst_total=[]   在dic_size:项   lst_total.append([项,dic_size[项目],dic_size(项)/160 * 1.0))      #接下来进行数据的可视化(进行画饼操作)   标签=[[0]项+ & # 39;码& # 39;在lst_total项]#使用列表生成式,得到饼图的标签   压裂=[[2]项条目lst_total) #饼图中的数据源   pit.rcParams [& # 39; font.family& # 39;]=[& # 39; SimHei& # 39;] #单独的表格乱码的处理方式   pit.pie (x=压裂、标签=标签,autopct=& # 39; % 1.1 f % % & # 39;)   # pit.show()进行结果的图片的展示   pit.savefig(& # 39;图jpg # 39;)

文件2

#所涉及到的是请求和openpyxl数据的存储和数据的清洗以及统计然后就是matplotlib进行数据的可视化   #静态数据点击元素中点击发现在html中,服务器已经渲染好的内容,直接发给浏览器,浏览器解释执行,   #动态数据:如果点击下一页。我们的地址栏(加后缀但是前面的地址栏没变也算)(也可以点击2和3页)没有发生任何变化说明是动态数据,说明我们的数据是后来被渲染到html中的。他的数据根本不在html中的。   #动态查看网络然后用的url是网络里面的头   #安装第三方模块输入cmd之后pip安装加名字例如请求   进口的要求   进口再保险   导入的时间   进口json   进口openpyxl #用于操作excel文件的   头={& # 39;用户代理# 39;:& # 39;Mozilla/5.0 (Windows NT 10.0;Win64;x64) AppleWebKit/537.36 (KHTML,像壁虎)Chrome/74.0.3729.131 Safari 537.36 & # 39;} #创建头部信息   def get_comments (productId、页面):   url=癶ttps://club.jd.com/comment/productPageComments.action& # 63;调=fetchJSON_comment98& productId={0},得分=0,sortType=5,页={1},页大?10,isShadowSku=0,褶皱=1“.format (productId、页面)   resp=请求。get (url,标题=标题)   s=resp.text.replace (& # 39; fetchJSON_comment98(& # 39; & # 39; & # 39;) #进行替换操作。获取到所需要的相应的json,也就是去掉前后没用的东西   s=s.replace (& # 39;); & # 39; & # 39; & # 39;)   json_data=https://www.yisu.com/zixun/json.loads (s) #进行数据json转换   返回json_data      #获取最大页数   def get_max_page (productId):   dis_data=get_comments (productId,0) #调用刚才写的函数进行向服务器的访问请求,获取字典数据   返回dis_data [' maxPage '] #获取他的最大页数。每一页都有最大页数      #进行数据提取   def get_info (productId):   max_page=get_max_page (productId)   lst=[] #用于存储提取到的商品数据   页面的范围(1,max_page + 1):   #获取没页的商品评论   评论=get_comments (productId页面)   comm_list=评论(“评论”)#根据comnents获取到评论的列表(每页有10条评论)   #遍历评论列表,获取其中的相应的数据   在comm_list:项   #每条评论分别是一字典。在继续通过关键来获取值   内容=项目(“内容”)   颜色=项目(“productColor”)   大?项目(“productSize”)   lst.append([内容、颜色、大小])#将每条评论添加到列表当中   time . sleep(3) #防止被京东封ip进行一个时间延迟。防止访问次数太频繁   保存(lst)      def保存(lst):   #把爬取到的数据进行存储,保存到excel中   工作=openpyxl.Workbook() #用于创建工作簿对象   表=工作。活跃#获取活动表(一个工作簿有三个表)   #遍历列表将数据添加到excel中。列表中的一条数据在表中是一行   biaotou='评论”、“颜色”,“大”小   sheet.append (biaotou)   lst的项目:   sheet.append(项)   #将excel保存到磁盘上   wk.save(“销售数据.xlsx”)         if __name__==癬_main__”:   productId=' 66749071789 '   get_info (productId)   打印(“ok”)

Python爬取数据并将数据保存到excel中的方法