• 爬虫日记-代理


    代理

    当我们美好的爬完一个页面之后,喝了一杯茶,决定再爬一次,提升成就感,这时候发现了居然爬不了了!

    这是为什么?

    因为有些网页他会做了一些反爬措施,你的ip爬取在单位时间内访问了过多次数。所以他就不让你爬了。这种情况我们就可以称之为,你的ip被他的服务器端给封掉了。

    那么我们是不是可以通过某种手段来伪装我们的ip,让这个服务器端识别不出来是我们本机的ip,这样是不是就可以无限次数的发起请求了呢?这就是一个有效的反反爬措施。

    代理:

    ​ 就是破解封ip这种反爬机制用的。

    什么是代理:

    ​ —代理服务器

    正常情况下,我们向服务器发送请求,服务器接收到之后会给我们返回数据,代理服务器就相当于是在我们和服务器中间加了一道中转站,我们发送的请求先到代理服务器,然后代理服务器在发送给服务器端,这样服务器端就不知道我们的ip了。

    代理的作用:

    ​ —突破自身ip访问的限制。

    ​ —隐藏自身真是ip。

    代理的相关网站:

    ​ —快代理

    ​ —西祠代理

    ​ ——www.goubanjia.com

    代理ip的类型:

    ​ —http:应用到http协议对应的url中

    ​ —https:应用到https协议对应的url中

    代理ip的匿名度:

    ​ —透明:服务器知道该次请求使用了代理,也知道是哪个ip使用了代理

    ​ —匿名:知道使用了代理,但不知道是那个ip使用的。

    ​ —高匿:不知道使用了代理,更不知道真实的ip

    import requests
    
    url='https://www.baidu.com/s?wd=ip'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3730.400 QQBrowser/10.5.3805.400'}
    
    page_text=requests.get(url=url,headers=headers,proxies={'https':'221.178.232.130:8080'}).text
    with open('./baidu.html','wt',encoding='utf8')as fw:
        fw.write(page_text)
    

    只需要在get里面加上一个关键字参数proxies,然后在里面写上http或者https对应的代理ip,这时候你的代理就生效了,直接访问服务器的ip已经不是你的ip了,是你的代理。

  • 相关阅读:
    Linux nginx 安装 启动
    MySQL5.7版本sql_mode=only_full_group_by问题解决办法
    Tomcat配置Gizp 客户端使用okHttp3
    tomcat 验证码显示问题
    JProfiler 教程 使用说明
    mysql update 子查询作为条件
    reids等非关系数据库管理工具treesoft
    常用Linux 命令
    vue中计算属性的get与set方法
    Less和Sass相同与不同
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11568339.html
Copyright © 2020-2023  润新知