zoukankan      html  css  js  c++  java
  • python:爬虫2——隐藏自己

    一、添加浏览器

    方法一:

    head['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
    req = urllib.request.Request(url, data, head)
    response = urllib.request.urlopen(req)

    只能在Request对象上加head,而urlopen(url, data, head)是错误的

    方法二:

    req = urllib.request.Request(url, data)
    req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36')

    先生成req,在动态添加

    二、但高频率多次访问一个网站,一样会被服务器发现

    解决办法一:延迟提交时间

    import time
    
    while True:
        word = input('请输入要翻译的英文(“q!”退出程序):')
        if word == 'q!':
            break
            ........
            time.sleep(5)

    解决办法二:使用代理

    (工作原理)把需要访问的内容告诉代理,代理把它看到的所有东西发给我

    但免费的ip地址可能不稳定,因此我们可以建立一个ip list,多加几个ip进去,每次随机使用一个。还可以创建一个采集ip的程序

    random.choice(list)

  • 相关阅读:
    !!!!Linux系统开发 系列 4 进程资源 环境 fork()子进程 wait() waitpid()僵尸 孤儿进程
    linux运维工程师
    C# CSGL
    C# 中的"yield"使用
    C#语法糖
    VS2017下Git的使用
    Oracle数据类型与.NET中的对应关系
    Java 8 Stream
    Java 8 默认方法
    Java 8 函数式接口
  • 原文地址:https://www.cnblogs.com/daduryi/p/6830935.html
Copyright © 2011-2022 走看看