日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python——LOL官方商城皮肤信息爬取(一次练手)

發(fā)布時(shí)間:2025/3/17 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python——LOL官方商城皮肤信息爬取(一次练手) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
# -*- coding utf-8 -*- import urllib import urllib.request import json import time import xlsxwriter from asyncio.tasks import sleep import re# 根據(jù)第一頁數(shù)據(jù)創(chuàng)建信息表頭 header = [] url = "http://apps.game.qq.com/daoju/v3/api/hx/goods/api/list/v54/GoodsListApp.php?view=biz_cate&page=1&pageSize=8&orderby=dtShowBegin&ordertype=desc&cate=17&appSource=pc&appSourceDetail=pc_lol_revison&channel=1001&storagetype=6501&plat=0&output_format=jsonp&biz=lol" data = json.loads(urllib.request.urlopen(url).read().decode("gbk").replace("var ogoods_list_api = ","").replace("\n","")) goods_info = data["data"]["goods"][0]["valiDate"][0] for i in range(len(goods_info)):header.append(''.join((re.findall("\w",str(str(goods_info).split(",")[i]).split(":")[0]))).strip())# 創(chuàng)建工作簿,寫表頭 workbook = xlsxwriter.Workbook("E:/lol_sales.xlsx") sheet = workbook.add_worksheet("result") for i in range(len(header)):sheet.write(0,i,header[i])# 獲取數(shù)據(jù) row_index = 1 for page_index in range(1,61):url = "http://apps.game.qq.com/daoju/v3/api/hx/goods/api/list/v54/GoodsListApp.php?view=biz_cate&page=" + str(page_index) + "&pageSize=8&orderby=dtShowBegin&ordertype=desc&cate=17&appSource=pc&appSourceDetail=pc_lol_revison&channel=1001&storagetype=6501&plat=0&output_format=jsonp&biz=lol"data = json.loads(urllib.request.urlopen(url).read().decode("gbk").replace("var ogoods_list_api = ","").replace("\n",""))for goods_index in range(6):try:for col_index in range(len(header)):if header[col_index] == "award":passelse:sheet.write(row_index,col_index,data["data"]["goods"][goods_index]["valiDate"][0][header[col_index]])row_index += 1except:passprint("page" + str(page_index)) workbook.close() print("finish")

獲取的數(shù)據(jù)內(nèi)容如下:

總結(jié):

?1.表頭的獲取方式。

不要再自己編寫表頭啦,一是太費(fèi)事,二是不靈活。

通過創(chuàng)建空的列表,讀取示范頁面(如第一頁)的信息表頭,使用.append即可創(chuàng)建所需表頭。

2.多數(shù)網(wǎng)站的數(shù)據(jù)格式都是json,但是其返回的還附帶了json數(shù)據(jù)的表頭,注意刪除掉。

如.replace("var ogoods_list_api = ","").replace("\n","")。這樣才是符合格式要求的json(可以用這個網(wǎng)站測試json格式是否標(biāo)準(zhǔn):Be JSON),否則無法用json.loads()讀取,因?yàn)闀蛔R別成字符串。

3.json.loads(s),中讀取的是字符串?dāng)?shù)據(jù)。

4.即使讀取出來的數(shù)據(jù)編碼是unicode,但是寫入excel的時(shí)候就被解碼了。(使用了多種方式仍無法對數(shù)據(jù)解碼,故打算提取后單獨(dú)解碼,后發(fā)現(xiàn)寫入excel的是解碼后的數(shù)據(jù)。意外發(fā)現(xiàn)。)

5.關(guān)于表頭的提取:

  • 首先使用兩次split,分別是“,”和“:”將json的key提取出來。
  • 接下來使用正則表達(dá)式提取{'ret'中的ret。在這里使用了這樣的方法:用\w提取英文字符,再用''.join()合并起來
  • 轉(zhuǎn)載于:https://www.cnblogs.com/shadrach/p/7885873.html

    總結(jié)

    以上是生活随笔為你收集整理的Python——LOL官方商城皮肤信息爬取(一次练手)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。