Json解析京東商品評論 Python

2021-09-25 15:50:25 字數 3581 閱讀 9986

與一般的網頁資料不同,這裡我們開啟網頁控制台,找到network——js——productpagecomm…看右邊preview中的資料,發現我們想要的資料就在這個資料報裡。

找到了資料報,我們還需要知道它的請求頭也就是headers,這裡面有一些很重要的請求引數,我們在下面這兩張圖中的到資料報的url,cookie,referer,user-agent等請求引數

其中最下方的一些引數是資料的一些詳細引數,需要留下來有用

程式演示:

import requests

import json

import re

import time

# 獲取網頁html

def gethtml

(url, data, head)

: # 捕獲異常

try: r = requests.

get(url, params=data,headers=head)

r.raise_for_status()

return r.text

except:

print

('爬取失敗'

)def getcomment

(html)

: # 頁面編成json資料,無論什麼格式的資料編碼後都變成字串型別

i = json.

dumps

(html)

# json轉python物件

j = json.

loads

(i) # 正規表示式資料過濾

comment = re.

findall

(r''

, j)

# json解析

comm_dict = json.

loads

(comment[0]

) # 存資料實體

commentlist =

comm_list = comm_dict[

'comments'

]for com in comm_list:

# 使用者id

id=com[

'id'

] # 名稱

name=com[

'referencename'

] comment =''.

join

(com[

'content'].

split()

) # 使用者評分

score = com[

'score'

] # 使用者打分

# 時間

time=com[

'creationtime'

] # 放入列表

commentlist.

([id,name,score, comment]

)return commentlist

def getcomments

(url, num)

: head=

data=

# 資料容器

commetns=

for i in

range

(num+1)

:try

: # 控制頁碼

data[

'page']=i

html=

gethtml

(url,data,head)

commlist =

getcomment

(html)

# 捕獲異常

except:

print

("第%d頁抓取失敗"

%i)

commetns.

(commlist)

print

(%i)

# 睡眠一會防止被封

time.

sleep(3

)return commetns

def main()

: url=

""num=

(int)

(input

("請輸入抓取結束頁碼:"))

commlist=

getcomments

(url,num)

print

("資料抓取結束,準備寫入檔案中。。。"

)

page=

0 f =

open

('jdcomment.txt'

,'a'

, encoding=

'utf-8'

)for list in commlist:

print

("--->第%d頁正在寫入。。。"

%page)

strpage=

"--->第"

+str

(page)

+"頁共計"

+str

(len

(list))+

f.write

(strpage+

'\n'

)

# 睡一會防止寫入出錯

time.

sleep

(1.5

)for data in list:

strid=

"使用者id:"

+str

(data[0]

) f.

write

(strid+

'\n'

) strname=

" 產品:"

+str

(data[1]

) f.

write

(strname+

'\n'

) strsc=

" 評分:"

+str

(data[2]

) f.

write

(strsc+

'\n'

) strcom=

+str

(data[3]

) f.

write

(strcom+

'\n'

)print

("第%d頁寫入成功"

%page)

page+=

1 # 關閉檔案

f.close()

main

()

程式結束。

python json 爬京東商品評論

1 我用的是qq瀏覽器,右擊檢查,在network下選擇js,在搜尋框裡輸入productpagecomments 如果出不來記得f5重新整理一下 如圖 2 雙擊productpagecomments會得到以下頁面 二 找到想要的東西就要寫 啦 上 coding utf 8 importurllib...

用Python爬取京東商品評論(2)

首先開啟京東的頁面,輸入你想要查詢的某項商品的名稱,這裡用貝因美的某一款奶粉舉例 1.首先我們右擊選擇檢視網頁源 3.利用params引數構建 我們可以發現 callback fetchjson comment98vv75454 productid 1601354 score 0 sorttype ...

爬取京東某商品評論並存入csv

前言 找到你所要爬取物品的頁面,右鍵檢查,如圖所示 我們需要的就是紅方塊框柱的內容了。最後 我感覺可以直接上 了 import requests import json import csv from lxml import etree comment url for i in range 10 p...