前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python学习(四)--POST请求

python学习(四)--POST请求

作者头像
py3study
发布2020-01-17 13:21:53
7890
发布2020-01-17 13:21:53
举报
文章被收录于专栏:python3python3python3
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)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档