zoukankan      html  css  js  c++  java
  • 爬虫防封IP

    当抓取数据逐渐增大时,服务器的负荷会加大,会直接封掉来访IP:

    采取措施:

      1.创建请求头部信息:

      

    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.9 Safari/537.36'} #创建请求头
    strhtml = requests.get(url,headers = headers);    #使用GET方式,获取网页数据

      2.我们就只修改User-Agent还不够,爬虫1秒钟可以抓取很多图片,通过统计IP的访问频率,频率超过阈值,会返回一个验证码,如果是用户访问,用户就会填写继续访问,而代码访问就会被封IP,有两种解决方法:

      (1)增设延时 (耗时)

    import time
    time.sleep(3)#每3秒抓取1次

      (2)构建自己代理IP池

    proxies = {
        "http": "http://10.10.1.10:3128",
        "https": "http://10.10.1.10:1080",
    }
    url="http://www.cntour.cn/"  #需要爬取的网址
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.9 Safari/537.36'} #创建请求头
    strhtml = requests.get(url,headers = headers,proxies=proxies); 
  • 相关阅读:
    iOS exit(0); 直接退出程序
    友盟推送简单调用
    KxMenu下拉菜单
    打开相册另类写法
    简洁调用字号
    十六进制颜色宏
    Swift定义单例
    不要在初始化方法和dealloc方法中使用Accessor Methods
    copyin函数
    c语言中的赋值
  • 原文地址:https://www.cnblogs.com/alex-xxc/p/9766446.html
Copyright © 2011-2022 走看看