百度api python大批量資料情感分析

2021-10-23 00:17:44 字數 2925 閱讀 9244

貌似是qps受限制,使得文字情感分析不出來(不是很懂但是設定乙個迴圈可解決)

網頁訪問受限制,分析過程中在進行到中途會報錯,可能是訪問網頁的問題。

最終能完成8000+條文本的情緒分析,較為穩定。

def sentiment_classify

(text)

: raw =

raw[

'text'

]= text

data = json.

dumps

(raw)

.encode

('utf-8'

)

host =

' key]&client_secret=[secret key]'

# api key 和 secret key的獲取防範見下方部落格鏈結

request = urllib.request.

request

(url=host,data=data)

request.

add_header

('content-type',)

response = urllib.request.

urlopen

(request)

content = response.

read()

.decode

('utf-8'

) rdata = json.

loads

(content)

return rdata

接著是主函式

if __name__ ==

'__main__'

: file =

'f:/...(檔案目錄)'

text = pd.

read_excel

(file)

review = text[

'txt'

] length =

len(review)

#初始化用來儲存情感分析結果的列表

sentiment =

['blank'

]*length

confidence =

['blank'

]*length

positive_prob =

['blank'

]*length

time_start = time.

time

()#計時

i =0for content in review:

content = content[

:512

op = true #利用迴圈和輸出條件來保證獲取到情緒分析的結果

while op:

maxtrynum =

50 #設定最大嘗試訪問的次數,通過多次訪問保證不會因為訪問受限制而得不到結果(可修改)

for tries in range

(maxtrynum)

:try

: result =

sentiment_classify

(content)

break

except:

if tries <

(maxtrynum -1)

:continue

else

:print

('嘗試了 %d 次都失敗了!!!'

,maxtrynum)

break

#因為發現如果能夠成功呼叫api則輸出結果長度為3,失敗了長度為2,故將其設為控制輸出的條件

iflen(result)==3

: op = false

else

: op = true

result1 = result.

get(

'items'

) item = result1[0]

sentiment[i]

= item[

'sentiment'

] confidence[i]

= item[

'confidence'

] positive_prob[i]

= item[

'positive_prob'

] #方便觀察進度

print

('第 '

+str

(i+1)+

+str

(length)+)

i = i+

1 time_end = time.

time()

print

(,time_end-time_start)

text[

'sentiment'

]= sentiment

text[

'confidence'

]= confidence

text[

'positive_prob'

]= positive_prob

#儲存text.

to_excel

('f:/網際網路+/data/情緒分析結果/湖北_37_result.xlsx'

,index=none)

print

(file +

" result寫入成功!"

)

最終可以完成大批量資料的情緒分析,還借鑑了該篇博文的思想,即設立迴圈多次嘗試訪問。最大的缺點就是大約每秒只能分析2條文本,資料量大時會花費很多時間。

呼叫百度ocr的API,python簡易版本

管理應用 建立乙個 圖1登陸之後的介面 圖2 建立應用之後的介面 官方指南 安裝使用python sdk pip install baidu aip cv2 需要安裝 pip install opencv python 如果只需要 文字以及框出文字區域,執行以下 即可。讀取 defget file ...

PHP thinkphp5 分批匯出大批量資料

namespace 檔案匯出 zip格式 class fileexport return self initialize 設定臨時及匯出檔名 public function setname string name 控制器分批次寫入資料到檔案防止記憶體不夠 public function writed...

MySQL常見的SQL的優化大批量插入資料

1.大批量插入資料時候 1.第一種 當我們使用load命令大量匯入資料的時候,可以修改設定提高匯入速度。關閉 alter table 表名 disable keys 開啟 alter table 表名 enable keys 解釋 disable keys和enable keys用來開啟或者關閉my...