Python爬蟲教程-08-post介紹(百度翻譯)(下)

肖朋偉發表於2018-09-06

Python爬蟲教程-08-post介紹(下)

為了更多的設定請求資訊,單純的通過urlopen已經不太能滿足需求,此時需要使用request.Request類

構造Request 例項

req = request.Request(url=baseurl,data=data,headers=header)

發出請求

rsp = request.urlopen(req)

檔案:

案例v8檔案:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py08post2.py

# 案例v7百度翻譯
# 使用Request
from urllib import request,parse
import json

baseurl = 'http://fanyi.baidu.com/sug'
keyword = input("請輸入需要翻譯的內容:")
data = {
    'kw': keyword
}

# 需要使用parse模組對data進行編碼
data = parse.urlencode(data)
data = data.encode('utf-8')

header = {
    'Content-Length':len(data)
}
# 構造Request例項
req = request.Request(url=baseurl,data=data,headers=header)

# 發出請求
rsp = request.urlopen(req)

json_data = rsp.read().decode()

# 把json字串轉換為字典
json_data = json.loads(json_data)

for item in json_data['data']:
    # if item['k'] == keyword:
        print(item['k'], ": ", item['v'])

更多文章連結:Python 爬蟲隨筆


  • 本筆記不允許任何個人和組織轉載

相關文章