python学习(四)--POST请求
程序员文章站
2022-10-05 11:25:36
from urllib import requestimport urllibimport re#网页版有道翻译是ajax的post请求。#浏览器请求地址http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule#但是在 ......
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)
上一篇: 谷歌浏览器禁用的端口号
下一篇: 秦国是如何强大起来的?秦国的强国历程!
推荐阅读
-
python使用scrapy发送post请求的坑
-
Python批量发送post请求的实现代码
-
Python使用requests发送POST请求实例代码
-
Python学习:17.Python面向对象(四、属性(特性),成员修饰符)
-
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
-
python基础学习(四)
-
Python requests post 请求报错:415 Unsupported Media Type
-
python 学习第四天
-
在Restful风格中,axios请求中, method:“put“/‘delete‘/‘get‘/‘post‘四种方式
-
Python3模拟curl发送post请求操作示例