榮耀線下門店詳情資訊爬取

2022-06-16 03:36:09 字數 2111 閱讀 3156

### 需求:爬取榮耀線下門店中的門店詳情資訊。頁面顯示如下:

- 首頁顯示

- 詳情頁顯示

### 基於抓包工具分析如下:

### 檢視定位到資料報的請求頭資訊:

- 請求的url和請求方式如下:

- 請求攜帶的請求引數如下:

- 注意:請求引數為字典格式並非常規的鍵值對,所以在**實現中需要使用dumps將字典轉成json串作為請求引數

### **實現:爬取到首頁對應的門店資訊

import

requests

import

json

url = '

'data = #

必須使用dumps操作

json_data = requests.post(url,data=json.dumps(data)).json()

- 請求到的資料為:

, , , , , , , , , , , , , , , , , , , ],

"success": true

, "totalrows": 60}

view code

- 請求到的資料分析:

- 資料為門店相關資料,其中每乙個門店有其對應的乙個id值,我們需要將id值解析出來,在後面請求詳情頁會使用到

import

requests

import

json

url = '

'data =

#從中解析出id

json_data = requests.post(url,data=json.dumps(data)).json()

for dic in json_data['

shopinfos']:

_id = dic['

id'] #

解析出門店的id值

### 請求每乙個門店詳情頁的資料

- 請求的url和請求方式:

- 請求引數:

發現只有shopid為動態變化的請求引數其他都是固定不變的,然後該shopid就是上一步我們解析出來的門店id,則基於門店id作為請求詳情頁的請求引數

import

requests

import

json

url = '

'data =

#從中解析出id

json_data = requests.post(url,data=json.dumps(data)).json()

for dic in json_data['

shopinfos']:

_id = dic['id'

]

#拼接詳情頁的url

detail_url = '

'.format(_id)

finally_data = requests.get(url=detail_url).json()

print(finally_data)#

每一頁詳情頁url的資料

OPPO線下門店品牌公升級

12 月 24 日下午訊息,oppo 今日宣布對線下門店進行品牌公升級,首家超級 在上海正式開業。據介紹,oppo 首家 位於上海淮海路,門店面積 500 平公尺,整體分為體驗區和銷售區。在品類上,除了手機之外,還引入了一些其它品牌的耳機 音箱 機械人等品類。支付上則可以直接實現移動結賬。oppo ...

特斯拉調整門店關閉計畫 只關閉半數線下門店

techweb 3月11日訊息,據國外 報道,此前宣布將關閉全球大量門店的電動汽車廠商特斯拉,目前對這一計畫作出了調整,他們只會關閉半數的線下門店。特斯拉調整門店關閉計畫 只關閉半數線下門店 2月份的最後一天,特斯拉曾在官網宣布將大量關閉其在全球的線下門店,僅保留部分 量大地區的門店,作為特斯拉的展...

線下門店排隊的秘訣是什麼?實體門店這樣做才有客源!

網際網路和電商的高速發展之後,實體經濟呈現出不斷萎縮的局面,過去熱鬧的門庭若市的景象不復存在,只剩下現在的冷冷清清,偶爾有幾個閒逛的人進店看看的現狀,樓下的門面換老闆的頻率比換季來的還勤快,傳統的實體經濟也在網際網路和電商的發展下,迎來了乙個嚴峻的挑戰,但是同樣的,在實體經濟滑落的同時,卻誕生了一批...