zoukankan      html  css  js  c++  java
  • 爬虫(POST)——有道翻译(有bug)

    工具:python3

    过程:抓包得到有道翻页面的url;复制post请求头,得到headers中的信息;复制post请求的body,得到formdata中的信息。构造post请求,返回响应

    import urllib.request
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
        "Content-Type": " application/x-www-form-urlencoded",
        "X-Requested-With": "XMLHttpRequest"
               }
    
    url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule "
    
    key = input("请输入需要翻译的文字:")
    
    formdata = {
        "i": key,
        "from":"AUTO",
        "to":"AUTO",
        "smartresult":"dict",
        "client":"fanyideskweb",
        "salt":"1527240517613",
        "sign":"b6871f33bfa94784d832dddbe9fba785",
        "doctype":"json&version=2.1",
        "keyfrom":"fanyi.web",
        "action":"FY_BY_REALTIME",
        "typoResult":"false"
    }
    
    
    data = urllib.parse.urlencode(formdata)
    data = bytes(data, encoding="utf8")
    print(data)
    request = urllib.request.Request(url, data=data, headers = headers)
    print(request)
    response = urllib.request.urlopen(request)
    print(response.read())

    返回error:50 

    修改url,去掉_o后仍然不能得到正确的信息,,,原来,有道有反爬虫机制!

    哈哈哈哈,刚学爬虫,把这个问题先放一下好啦!

    我很棒棒哦!

  • 相关阅读:
    Netty入门——客户端与服务端通信
    使用配置文件自定义Ribbon配置
    使用Java代码自定义Ribbon配置
    Spring Cloud Ribbon入门
    负载均衡简介
    常见的几种负载均衡算法
    Eureka编程
    Eureka多机高可用
    Maven项目打包成可执行Jar文件
    Eureka单机高可用伪集群配置
  • 原文地址:https://www.cnblogs.com/gaoquanquan/p/9102184.html
Copyright © 2011-2022 走看看