python学习(四)--POST请求
生活随笔
收集整理的這篇文章主要介紹了
python学习(四)--POST请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from urllib import request
import urllib
import re
#網頁版有道翻譯是ajax的post請求。
#瀏覽器請求地址http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
#但是在抓取時,路徑有所變化,具體原因不明。后續要了解下 translate_o -》 translate
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
#搜狗瀏覽器的 模擬瀏覽器
header = {"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
}
key = str(input("請輸入要翻譯的詞語:"))
#key = "中國"
#這個formData是瀏覽器發送請求copy過來的
formData = {
"i":key,
"from":"AUTO",
"to":"AUTO",
"smartresult":"dict",
"client":"fanyideskweb",
"salt":"15536694414373",
"sign":"cddcc6c6092b57a04c546a2e075e2218",
"ts":"1553669441437",
"bv":"f355c521b6e13c15aa35c72a097b7786",
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"action":"FY_BY_REALTlME",
"typoResult":"false"
}
data = urllib.parse.urlencode(formData).encode(encoding = 'utf-8')
#當請求中存在data時就屬于POST請求
req = request.Request(url, data = data , headers= header)
result = request.urlopen(req).read().decode()
print(result)
#用正則取出有用數
pattern = r'"tgt":"(.*?)"}'
va = re.findall(pattern, result)
print(va)
import urllib
import re
#網頁版有道翻譯是ajax的post請求。
#瀏覽器請求地址http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
#但是在抓取時,路徑有所變化,具體原因不明。后續要了解下 translate_o -》 translate
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
#搜狗瀏覽器的 模擬瀏覽器
header = {"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
}
key = str(input("請輸入要翻譯的詞語:"))
#key = "中國"
#這個formData是瀏覽器發送請求copy過來的
formData = {
"i":key,
"from":"AUTO",
"to":"AUTO",
"smartresult":"dict",
"client":"fanyideskweb",
"salt":"15536694414373",
"sign":"cddcc6c6092b57a04c546a2e075e2218",
"ts":"1553669441437",
"bv":"f355c521b6e13c15aa35c72a097b7786",
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"action":"FY_BY_REALTlME",
"typoResult":"false"
}
data = urllib.parse.urlencode(formData).encode(encoding = 'utf-8')
#當請求中存在data時就屬于POST請求
req = request.Request(url, data = data , headers= header)
result = request.urlopen(req).read().decode()
print(result)
#用正則取出有用數
pattern = r'"tgt":"(.*?)"}'
va = re.findall(pattern, result)
print(va)
轉載于:https://www.cnblogs.com/fuguang/p/10607974.html
總結
以上是生活随笔為你收集整理的python学习(四)--POST请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 29军大刀队(29军大刀队刀法)
- 下一篇: 液晶电视品牌排行!(液晶电视品牌排行榜)