精华内容
下载资源
问答
  • 如何构建自己ip代理
    千次阅读
    2022-01-04 21:37:48

    在快代理网站爬取免费ip数据

    import requests
    import parsel
    import pprint
    import time
    
    def check_ip(proxies_list):
        '''检测代理ip质量的方法'''
        headers = {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
        }
        
        can_use = []
        for proxy in proxies_list:
            try:
                response = requests.get('https://www.baidu.com',headers=headers,proxies=proxy,timeout=0.1)
                if response.status_code == 200:
                    can_use.append(proxy)
            except Exception as e:
                print(e)
                
        return can_use
                
    proxies_list = []
    for page in range(1,5):
        print(f'=====================正在抓取第{page}页数据=====================')
        url = f'https://www.kuaidaili.com/free/inha/{page}/'
        headers = {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
        }
    
        response = requests.get(url=url,headers=headers)
        data = response.text
    # print(data)
    # 解析数据--parse1   转化成Selector对象,Selector对象具有xpath的方法
    # 转换数据类型
        html_data = parsel.Selector(data)
    # print(html_data)
    # parse_list = html_data.xpath('//table[@class="table table-bordered table-striped"]/tbody/tr').extract()
        parse_list = html_data.xpath('//table[@class="table table-bordered table-striped"]/tbody/tr')
    # pprint.pprint(parse_list)
    #代理ip的形式:{‘协议类型’:“ip:端口”}
    
        for tr in parse_list:
            proxies_dict = {}
            http_type = tr.xpath('./td[4]/text()').extract_first() #协议类型
            ip_num = tr.xpath('./td[1]/text()').extract_first() #ip
            port_num = tr.xpath('./td[2]/text()').extract_first() #端口
    #     print(http_type,ip_num,port_num)
            proxies_dict[http_type] = ip_num + ":" + port_num
    #     print(proxies_dict)
            proxies_list.append(proxies_dict)
            time.sleep(0.5)
        
    print(proxies_list)
    print('获取到的代理ip数量:',len(proxies_list),'个')
    
    can_use = check_ip(proxies_list)
    print('能用的代理ip:',can_use)
    print('能用的代理ip数量:',len(can_use))
    
    更多相关内容
  • 2. 搭建一个IP代理池,使用不同的IP轮流进行爬取。 二、搭建思路 1、从代理网站(如:西刺代理、快代理、云代理、无忧代理)爬取代理IP; 2、验证代理IP的可用性(使用代理IP去请求指定URL,根据响应验证代理IP是否...
  • 搭建代理IP

    千次阅读 2021-07-30 20:46:38
    目录 爬取前的准备 爬取有IP内容 检查IP的可用性 ...通常来说,搭建代理IP池,就是爬取代理IP网站,然后做成一个IP的形式,最后在requests请求访问网站的时候proxies指定IP去访问。 爬取前的准备 有很多...

    目录

    爬取前的准备

    爬取有IP内容

    检查IP的可用性


            上一期讲到在爬取豆瓣电影Top250时,出现ip被封的情况,解决方案给出了两种:

                    1. 换个WiFi或者热点;

                    2. 搭建代理IP池。

            那么这期就来搭建代理IP池。通常来说,搭建代理IP池,就是爬取代理IP网站,然后做成一个IP的形式,最后在requests请求访问网站的时候proxies指定IP去访问。

    爬取前的准备

            有很多免费代理IP网站:

    免费代理IP http://ip.yqie.com/ipproxy.htm
    66免费代理网 http://www.66ip.cn/
    89免费代理 http://www.89ip.cn/
    无忧代理 http://www.data5u.com/
    云代理 http://www.ip3366.net/
    快代理 https://www.kuaidaili.com/free/
    极速专享代理 http://www.superfastip.com/
    HTTP代理IP https://www.xicidaili.com/wt/
    小舒代理 http://www.xsdaili.com
    西拉免费代理IP http://www.xiladaili.com/
    小幻HTTP代理 https://ip.ihuan.me/
    全网代理IP http://www.goubanjia.com/
    飞龙代理IP http://www.feilongip.com/

    我爬取的是快代理这个网站。点击进入快代理网站,如下图:

     

            观察到每页15个数据,第一页的网站 https://www.kuaidaili.com/free/inha/1 后面依次加一。我爬取的150个数据也就是10页的内容,但是这150个数据并不是都有用的。因为IP会过期,人家付费的代理IP可用率也不可能达到100%,白嫖就更不要想了,哈哈哈哈哈哈哈。

    爬取有IP内容

            搭建代理IP池,我们只需要爬取的是IP和PORT。

            值得注意的是IP的格式为  {'HTTP': 'IP:port', 'HTTPS': 'https://IP:port'} 。例如: {'HTTP': '106.45.104.146:3256', 'HTTPS': 'https://106.45.104.146:3256'}。

            由于爬取的上一期已经讲了,而且这里爬取的非常简单,这里就直接贴代码了。

    import requests
    from bs4 import BeautifulSoup
    import time
    
    
    list_ip = []
    list_port = []
    list_headers_ip = []
    
    for start in range(1,11):
    
        url = 'https://www.kuaidaili.com/free/inha/{}/'.format(start)       # 每页15个数据,共爬取10页
        print("正在处理url: ",url)
    
        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 Edg/91.0.864.71'}
        response = requests.get(url=url, headers=headers)
    
        soup = BeautifulSoup(response.text, 'html.parser')
    
        ip = soup.select('#list > table > tbody > tr > td:nth-child(1)')
        port = soup.select('#list > table > tbody > tr > td:nth-child(2)')
    
        for i in ip:
            list_ip.append(i.get_text())
    
        for i in port:
            list_port.append(i.get_text())
    
        time.sleep(1)       # 防止爬取太快,数据爬取不全
    
    # 代理ip的形式:        'http':'http://119.14.253.128:8088'
    
    for i in range(150):
        IP_http = '{}:{}'.format(list_ip[i],list_port[i])
        IP_https = 'https://{}:{}'.format(list_ip[i],list_port[i])
        proxies = {
            'HTTP':IP_http,
            'HTTPS':IP_https
        }
        list_headers_ip.append(proxies)
        # print(proxies)
    
    print(list_headers_ip)

            这里就把150个代理IP爬取下来了,刚才说的有一部分的IP是无用的,所以我们需要对代理IP进行有效性分析,简单的来说就是去访问一个网站看是否可行。

    检查IP的可用性

            使用proxies,指定一个IP去访问网站,另外这里设置了一个时间段。整体意思是,如在3秒内,使用ip去访问url这个网站,成功就说明访问成功,IP可以用。反之不可以用。

    response = requests.get(url=url,headers=headers,proxies=ip,timeout=3)  

             我用的是豆瓣电影做的检测IP的网站。更简单的是,我们完全可以用自己需要爬取的网站做检测,而不需要找其它网站,检测出可以用就直接使用了,反之放弃就是。

    # 检查IP的可用性
    def check_ip(list_ip):
        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 Edg/91.0.864.71',
                   'Connection': 'close'}
        # url = 'https://www.baidu.com'  # 以百度为例,检测IP的可行性
        url = 'https://movie.douban.com/subject/1292052/'
    
        can_use = []
        for ip in list_ip:
            try:
                response = requests.get(url=url,headers=headers,proxies=ip,timeout=3)      # 在0.1秒之内请求百度的服务器
                if response.status_code == 200:
                    can_use.append(ip)
            except Exception as e:
                print(e)
    
        return can_use
    
    can_use = check_ip(list_headers_ip)
    print('能用的代理IP为:',can_use)
    # for i in can_use:
    #     print(i)
    print('能用的代理IP数量为:',len(can_use))
    
    fo = open('IP代理池.txt','w')
    for i in can_use:
        fo.write(str(i)+'\n')
    
    fo.close()

             运行的结果其中就有10个IP不可用。

             将可用的IP写进txt文件中,需要时可以直接读取文件。然后使用,使用的方法和检测IP可用的方法一致。

            总结:搭建代理IP的方法主要就是爬虫爬取代理网站,以及requests请求网站用proxies指定IP。

            希望能给大家好处,有问题可以直接在评论区问,我会尽我最大的努力为大家解答的。

     

    展开全文
  • 使用爬虫时,大部分网站都有一定的反爬...因此我们可以自己构建代理池,从各种代理服务网站中获取代理 IP,并检测其可用性(使用一个稳定的网址来检测,最好是自己将要爬取的网站),再保存到数据库中,需要使用的时候
  • 上一文写了如何从代理服务网站提取 IP,本文就讲解如何存储 IP,毕竟...Python搭建代理IP池(一)- 获取 IP Python搭建代理IP池(三)- 检测 IP Python搭建代理IP池(四)- 接口设置与整体调度 使用的库:pymysql 定义
  • 爬取网页,怕ip被封?教你免费获取大量ip

    最常见的反爬虫技术之一就是通过客户端的IP鉴别是否为爬虫,若要爬取大量资源仅用少数IP是不行的(会被封),所以就需要不断地更换IP,最简单的方式是使用代理服务器,我们可以通过不断地更换代理服务器来使用大量IP访问服务器,进而欺骗服务器。

    使用ProxyHandler类可以设置HHTP和HTTPS代理,但是在设置代理之前,首先要有代理服务器,代理服务器可以自己搭建,也可以使用第三方的服务器,本文将介绍如何自己搭建服务器。

    工具:

    1.   nginx,官网下载Android · Sunny-Ngrok说明文档,选择稳定版(注意路径不能有中文)
    2. 电脑

     打开<nginx根目录>/conf/nginx.conf文件(记事本打开即可)在http{....}中加入如下代码:

    server{
        resolver 192.169.31.1;
        listen 8888;
        location / {
                    proxy_pass http://$http_host$request_uri;
                    }
            }

    其中resolver是DNS服务器,如果是将本机作为代理服务器,那么DNS服务器的IP是访问路由器后台管理页面的地址,如192.169.31.1每台电脑连接不同的局域网的地址不同listen 8888表示代理服务器的端口号是8888,location /”表示访问任何的 URL 都通过这个代理(因为指定的路径为 根路径“/”)。proxy_pass 后面的地址表示代理服务器根据客户端的请求向资源服务器发送的 URL, http:/$http_host$request_uri 相当于将客户端发过来的 URL 原封不动发送给资源服务器。$http_host 和 $request_uri 是 nginx 的内部变量,分别表示客户端发过来的 IP(域名)以及请求路径。 在 nginx.conf 文件中输人上面的代码后,保存 nginx.conf 文件,启动 nginx 服务器,(启动时就弹窗一下)然后使用 Firefox 浏览器测试一下代理服务器。 打开 Firefox 浏览器,单击右上角的菜单按钮,在弹出菜单中单击“首选项”菜单项,在显示的页 面中找到“网络设置”部分(一般在页面的最后),然后单击“设置”按钮,会弹出如下图 所示的 对话框。单击“手动代理设置”选项按钮,并在“HTTP 代理”文本框中输入代理服务器的 IP,如果 用本机作代理服务器,可以输入 127.0.0.1,也可以输入本机的真实 IP (本例是 192.168.31.124 ),然 后在“端口”文本框输入 8888。最后单击“确定”按钮保存设置。

     在 Firefox 浏览器的地址栏中输人一个 http 网站,如 http://blogjava.net,如果正常显示页面,说 明设置成功了。这时 http://blogjava.net实际上会先通过代理服务器,然后代理服务器去访问 http:/ blogjava.net,并将返回结果传给 Firefox 浏览器。要注意的是,nginx 目前并不支持 https 代理,如果 读者要测试 https 代理,可以寻找免费或收费的代理服务器。 如果想找免费的代理服务器,可以在百度或谷歌搜索“免费代理服务器”,会出现一堆,不过免 费的代理服务器有些不太稳定,而且大多只支持 HTTP。所以读者可以考虑使用收费的代理服务器。 例如,蜻蜓代理(https://proxy.horocn.com),尽管蜻蜓代理是收费的,但如果只是测试,蜻蜓代理 提供了一些用于免费测试的代理 IP,只需要注册蜻蜓代理,在后台就可以申请。要注意的是,通常 这些代理会在 1 到 3 分钟之内失效(收费和免费的代理都是这样),所以在使用代理时应不断更换代 理服务器。

    未设置好的界面是这样的

     设置好的界面是这样的

     一定要点下这个!!!

     以上就是获取大量IP的白嫖方法了,喜欢就收藏加关注哈

    展开全文
  • 主要介绍了Python搭建代理IP池实现检测IP的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 教你自己搭建一个ip池(绝对超好用!!!!)

    万次阅读 多人点赞 2019-12-04 19:58:06
    就是自己去收集网上公开的免费ip,自建起 自己ip代理池。 就是通过 python 程序去抓取网上大量免费的代理 ip , 然后定时的去检测这些 ip 可不可以用,那么下次你要使用代理 ip 的时候,你只需要去自己的 ip 代理...

    随着我们爬虫的速度越来越快,很多时候,有人发现,数据爬不了啦,打印出来一看。

    不返回数据,而且还甩一句话
    在这里插入图片描述
    是不是很熟悉啊?

    要想想看,人是怎么访问网站的? 发请求,对,那么就会带有

    request.headers,

    那么当你疯狂请求别人的网站时候,人家网站的管理人员就会 觉得有点不对劲了,

    他看看请求的 header 信息,一看吓一跳,结果看到的 headers 信息是这样的:

    Host: 127.0.0.1:3369
    User-Agent: python-requests/3.21.0
    Accept-Encoding: gzip, deflate
    Accept: */*
    Connection: keep-alive
    
    

    看到:

    User-Agent: python-requests/3.21.0

    居然使用 python 的库来请求,说明你已经暴露了,人家不封你才怪呢?

    那么怎么办呢?伪装自己呗。

    python 不可以伪装,浏览器可以伪装,所以可以修改浏览器的请求头。

    简单来说,就是让自己的 python 爬虫假装是浏览器。

    1. 伪装 Header的哪个地方?
      要让自己的 python 爬虫假装是浏览器,我们要伪装headers,那么headers里面有很多字段,我们主要注意那几个呢?

    headers数据通常用这两个即可,强烈推荐在爬虫中为每个request都配个user-agent,而’Referer’如果需要就加,不需要就不用。(Referer是什么?后面补充知识点)

    图示:
    在这里插入图片描述
    上面几个重要点解释如下:

    Requests Headers:
    • “吾是人!”——修改user-agent:里面储存的是系统和浏览器的型号版本,通过修改它来假装自己是人。

    • “我从台湾省来”——修改referer:告诉服务器你是通过哪个网址点进来的而不是凭空出现的,有些网站会检查。

    • “饼干!”:——带上cookie,有时带不带饼干得到的结果是不同的,试着带饼干去“贿赂”服务器让她给你完整的信息。
    3.headers的伪装—随机User-Agent
    爬虫机制:很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)

    随机User-Agent生成 :生成一个随机的User-Agent,这样你就可以是很多不同的浏览器模样。

    (代码现成的,复制拿去用即可)

    #!/usr/bin/python3
    
    #@Readme : 反爬之headers的伪装
    
    # 对于检测Headers的反爬虫
    from fake_useragent import UserAgent   # 下载:pip install fake-useragent 
    
    ua = UserAgent()        # 实例化,需要联网但是网站不太稳定-可能耗时会长一些
    
    # 1.生成指定浏览器的请求头
    print(ua.ie)
    print(ua.opera)
    print(ua.chrome)
    print(ua.google)
    print(ua.firefox)
    print(ua.safari)
    # 随机打印一个浏览器的User-Agent
    print(ua.random)
    print('完毕。')
    
    # 2.在工作中常用的则是ua.random方式
    import requests
    ua = UserAgent()
    print(ua.random)  # 随机产生
    
    headers = {
        'User-Agent': ua.random    # 伪装
        }
    
    # 请求
    url = 'https://www.baidu.com/'
    response = requests.get(url, headers=headers)
    print(response.status_code)
    
    
    

    Referer的伪装:

    如果想爬图片,图片反盗链的话就要用到Referer了。
    headers = {‘User-Agent’:ua.random,‘Referer’:‘这里放入图片的主页面’}
    如果遇到防盗链的图片,一般思路就是先爬到所有图片的地址.jpg —–>将它们储存在列表中 —–>遍历访问图片地址,然后用 ‘wb’的格式打开文件写入,文件名根据图片地址动态改变。

    这个基本上如果你的爬虫对象不是很严肃的图片网站,都不会用到。

    4.2.1 自建的ip代理池

    多线程爬虫
    就是自己去收集网上公开的免费ip,自建起 自己的ip代理池。
    就是通过 python 程序去抓取网上大量免费的代理 ip , 然后定时的去检测这些 ip 可不可以用,那么下次你要使用代理 ip 的时候,你只需要去自己的 ip 代理池里面拿就行了。
    简单来说:访问免费代理的网站 —> 正则/xpath提取 ip和端口—> 测试ip是否可用 》》可用则保存 》》使用ip爬虫 > 过期,抛弃ip。

    这个过程可以使用多线程或异步的方式,因为检测代理是个很慢的过程。

    这是来源于网络的一个西刺代理的多线程ip代理爬虫:(我不用)

    #!/usr/bin/python3
    
    #@Readme : IP代理==模拟一个ip地址去访问某个网站(爬的次数太多,ip被屏蔽)
    
    # 多线程的方式构造ip代理池。
    from bs4 import BeautifulSoup
    import requests
    from urllib import request, error
    import threading
    
    import os
    from fake_useragent import UserAgent
    
    
    inFile = open('proxy.txt')           # 存放爬虫下来的ip
    verifiedtxt = open('verified.txt')  # 存放已证实的可用的ip
    
    
    
    lock = threading.Lock()
    
    def getProxy(url):
        # 打开我们创建的txt文件
        proxyFile = open('proxy.txt', 'a')
    
        # 伪装
        ua = UserAgent()
        headers = {
            'User-Agent': ua.random
        }
    
        # page是我们需要获取多少页的ip,这里我们获取到第9页
        for page in range(1, 10):
            # 通过观察URL,我们发现原网址+页码就是我们需要的网址了,这里的page需要转换成str类型
            urls = url + str(page)
            # 通过requests来获取网页源码
            rsp = requests.get(urls, headers=headers)
            html = rsp.text
            # 通过BeautifulSoup,来解析html页面
            soup = BeautifulSoup(html,'html.parser')
            # 通过分析我们发现数据在 id为ip_list的table标签中的tr标签中
            trs = soup.find('table', id='ip_list').find_all('tr')  # 这里获得的是一个list列表
            # 我们循环这个列表
            for item in trs[1:]:
                # 并至少出每个tr中的所有td标签
                tds = item.find_all('td')
                # 我们会发现有些img标签里面是空的,所以这里我们需要加一个判断
                if tds[0].find('img') is None:
                    nation = '未知'
                    locate = '未知'
                else:
                    nation = tds[0].find('img')['alt'].strip()
                    locate = tds[3].text.strip()
                # 通过td列表里面的数据,我们分别把它们提取出来
                ip = tds[1].text.strip()
                port = tds[2].text.strip()
                anony = tds[4].text.strip()
                protocol = tds[5].text.strip()
                speed = tds[6].find('div')['title'].strip()
                time = tds[8].text.strip()
                # 将获取到的数据按照规定格式写入txt文本中,这样方便我们获取
                proxyFile.write('%s|%s|%s|%s|%s|%s|%s|%s\n' % (nation, ip, port, locate, anony, protocol, speed, time))
    
    
    def verifyProxyList():
        verifiedFile = open('verified.txt', 'a')
    
        while True:
            lock.acquire()
            ll = inFile.readline().strip()
            lock.release()
            if len(ll) == 0: break
            line = ll.strip().split('|')
            ip = line[1]
            port = line[2]
            realip = ip + ':' + port
            code = verifyProxy(realip)
            if code == 200:
                lock.acquire()
                print("---Success成功:" + ip + ":" + port)
                verifiedFile.write(ll + "\n")
                lock.release()
            else:
                print("---Failure失败:" + ip + ":" + port)
    
    
    def verifyProxy(ip):
        '''
        验证代理的有效性
        '''
        ua = UserAgent()
        requestHeader = {
            'User-Agent': ua.random
        }
        url = "http://www.baidu.com"
        # 填写代理地址
        proxy = {'http': ip}
        # 创建proxyHandler
        proxy_handler = request.ProxyHandler(proxy)
        # 创建opener
        proxy_opener = request.build_opener(proxy_handler)
        # 安装opener
        request.install_opener(proxy_opener)
    
        try:
            req = request.Request(url, headers=requestHeader)
            rsq = request.urlopen(req, timeout=5.0)
            code = rsq.getcode()
            return code
        except error.URLError as e:
            return e
    
    
    if __name__ == '__main__':
        # 手动新建两个文件
        filename = 'proxy.txt'
        filename2 = 'verified.txt'
        if not os.path.isfile(filename):
            inFile = open(filename, mode="w", encoding="utf-8")
        if not os.path.isfile(filename2):
            verifiedtxt = open(filename2, mode="w", encoding="utf-8")
        tmp = open('proxy.txt', 'w')
        tmp.write("")
        tmp.close()
        tmp1 = open('verified.txt', 'w')
        tmp1.write("")
        tmp1.close()
        # 多线程爬虫西刺代理网,找可用ip
        getProxy("http://www.xicidaili.com/nn/")
        getProxy("http://www.xicidaili.com/nt/")
        getProxy("http://www.xicidaili.com/wn/")
        getProxy("http://www.xicidaili.com/wt/")
    
        all_thread = []
        for i in range(30):
            t = threading.Thread(target=verifyProxyList)
            all_thread.append(t)
            t.start()
    
        for t in all_thread:
            t.join()
    
        inFile.close()
        verifiedtxt.close()
    
    
    

    运行一下,效果:
    在这里插入图片描述
    爬出来的可用的很少或者很短:

    重点来了!!!!!!!!!

    4.2.3 开源 ip代理池—ProxyPool(吐血推荐)
    类比线程池,进程池,懂了吧?
    这是俺发现的一个不错的开源 ip 代理池ProxyPool,可以用windows系统的,至少Python3.5以上环境哟,还需要将Redis服务开启。

    现成的代理池,还不用起来?

    ProxyPool下载地址:

    https://github.com/Python3WebSpider/ProxyPool.git

    (可以手动下载也可以使用git下来。)

    1.ProxyPool的使用:

    首先使用 git clone 将源代码拉到你本地,
    在这里插入图片描述
    3.进入proxypool目录,修改settings.py文件,PASSWORD为Redis密码,如果为空,则设置为None。(新装的redis一般没有密码。)

    (如果你没 redis 的话,可以先去下载了安装了再来看吧。)

    (假设你的redis已经安装完成。)

    4.接着在你 clone 下来的文件目录中(就是这个ProxyPool存的电脑路径 )

    5.安装相关所需的 依赖包:
    (pip或pip3)

    pip install -r requirements.txt
    
    

    (如果你把ProxyPool导入在pycharm里面,那就一切都在pycharm里面搞就可以了。
    在这里插入图片描述
    6.接下来开启你的 redis服务,

    直接cmd 打开dos窗口,运行:redis-server.exe
    即可开启redis服务器。redis 的默认端口就是 6379
    在这里插入图片描述
    7.接着就可以运行 run.py 了。

    可以在cmd里面命令方式运行,也可以导入pycharm里面运行。

    图示:
    在这里插入图片描述
    8.运行 run.py 以后,你可以打开你的redis管理工具,或者进入redis里面查看,这时候在你的 redis 中就会存入很多已经爬取到的代理 ip 了:
    在这里插入图片描述
    9.项目跑起来之后,【不要停止】,此时redis里面存了ip,就可以访问这个代理池了。

    在上面的图中,可以看到有这么一句话

    Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)
    这就是告诉我们随机访问地址URL是多少。
    10.在浏览器中随机获取一个代理 ip 地址:

    你就浏览器输入:

    http://0.0.0.0:5555/random
    

    在这里插入图片描述
    11.在代码中随机获取一个ip代理

    就这样:

    import requests
    # 随机ip代理获取
    PROXY_POOL_URL = 'http://localhost:5555/random'
    def get_proxy():
        try:
            response = requests.get(PROXY_POOL_URL)
            if response.status_code == 200:
                return response.text
        except ConnectionError:
            return None
    
    if __name__ == '__main__':
        print(get_proxy())
    
    
    

    在这里插入图片描述
    好了。到此结束了。

    使用这个 ip代理池,目前来说是最好的了,又免费又高效唉~~~

    5.报错解决
    安装的时候,如果报错类似于如下:

    AttributeError: ‘int’ object has no attribute 'items

    更新一下 对应的xxx软件版本,比如redis 版本:

    pip install redis==3.33.1
    
    

    最后给一个Redis Desktop Manager安装教程:

    Redis 服务安装与配置

    1.下载解压

    先下载Redis:

    https://github.com/ServiceStack/redis-windows/tree/master/downloads
    在这里插入图片描述
    在这里插入图片描述
    下载完后解压到任意路径下(我的是D:\SoftWare\Redis-3.0)

    2.启动redis服务器

    进入解压后的文件夹,然后运行redis-server.exe文件。
      在这里插入图片描述
      在这里插入图片描述
       注意:该窗口不可关闭,否则,Redis服务不可用!

    现在再从Redis Desktop Manager进行连接就可以成功了!
      在这里插入图片描述
      3.启动redis客户端

    直接双击D:\SoftWare\Redis-3.0目录下的redis-cli.exe文件(redis客户端),如果显示127.0.0.1:6379> ,就说明客户端运行成功。
      在这里插入图片描述
      4.修改密码

    redis默认是空密码,但是这样在项目上线后是不安全的,容易被入侵,所以要设置密码。

    1)打开redis.windows.conf文件,找到# requirepass foobared 这行,在此行下增加一行requirepass 所设置的密码 ,保存。

    在这里插入图片描述

    //此处注意,密码自定义就行,并且行前不能有空格!

    2)打开cmd(windows命令窗口),切换到redis-server.exe目录下。

    3)输入命令:redis-server.exe redis.windows.conf启动redis,即可使用密码了。

    在这里插入图片描述
    4)客户端测试:

    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379> auth redis                              //会报以下错误
    (error) ERR Client sent AUTH, but no password is set
    127.0.0.1:6379> CONFIG SET requirepass "redis"          //执行此行指令即可解决错误
    OK
    127.0.0.1:6379> auth redis
    OK
    

    5.将Redis服务安装到本地服务

    由于上述启动Redis服务器的方式有点复杂,且redis服务窗口不可关闭。故这里介绍如何将Redis服务安装到Windows系统的本地服务。

    在cmd下输入以下命令:

    redis-server --service-install redis.conf --loglevel verbose    //安装redis本地服务,指定配置文件redis.windows.conf
    

    在这里插入图片描述
    6.如何卸载Redis本地服务

    打开win系统命令行,依次输入下列命令:

    C:\Users\lenovo>cd /d D:

    D:>cd D:\SoftWare\Redis-3.0

    D:\SoftWare\Redis-3.0> redis-server --service-uninstall

    展开全文
  • 主要介绍了Python搭建代理IP池实现接口设置与整体调度,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 搭建自己代理服务器

    千次阅读 2020-11-09 15:13:38
    是否要配置代理服务器密码,如果配置,需要执行下面的命令。 htpasswd -c /etc/squid/passwd username # username 即为用户名 执行上面的命令之后会生成一个密码。 然后进行squid的配置。下面这个可以直接添加。/...
  • 手把手教你用Python搭建IP代理池,轻松破解请求频率限制反爬虫~.pdf
  • vps搭建代理ip服务

    千次阅读 2021-07-26 10:00:23
    本文记录centos7.6拨号搭建代理ip服务器的过程。 一、购买拨号服务器。 在服务器测试拨号是否正常用到下面两个命令 pppoe-start pppoe-stop 如果拨号不正常则需要配置 pppoe-setup 具体步骤自查。 二、部署 首先安装...
  • 搭建代理服务器的完整步骤

    千次阅读 2022-01-20 18:17:37
    3)绑定弹性公网ip 4)为辅助网卡绑定安全组 5)修改网卡配置文件 ### 复制eth0的网卡文件 ### [root@VM_1_62_centos ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth{0,1} ### 修改...
  • 免费搭建一个自己代理ip

    千次阅读 2021-10-22 21:10:22
    这里教大家怎样搭建ip池,妈妈再也不我的ip被封了 首先有请今天的受害对象 快代理:http://www.xiladaili.com/ 简单分析一下,我们要其中的ip以及端口号port这两个数据,而这每个数据前面都有自己特有的data-title,...
  • 关于搭建代理服务器的全过程详细

    千次阅读 2021-11-15 15:54:31
    3)绑定弹性公网ip 4)为辅助网卡绑定安全组 5)修改网卡配置文件 ### 复制eth0的网卡文件 ### [root@VM_1_62_centos ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth{0,1} ### 修改...
  • 如何构建一个自己代理ip

    万次阅读 多人点赞 2019-02-21 18:09:19
    这种时候,我们就需要一个代理ip池。 什么是代理ip池? 通俗地比喻一下,它就是一个池子,里面装了很多代理ip。它有如下的行为特征: 1.池子里的ip是有生命周期的,它们将被定期验证,其中失效的将被从池子里面...
  • 什么是代理IP池,如何构建?

    千次阅读 2022-03-18 15:55:44
    什么是代理ip池? 通俗地比喻一下,它就是一个池子,里面装了很多代理ip。它有如下的行为特征: 1.池子里的ip是有生命周期的,它们将被定期验证,...今天,我们就来说一下如何构建自己代理ip池。而且,我们要做一.
  • 本文主要给大家介绍了关于 linux 搭建squid代理服务器的相关内容,下面话不多说了,来一起看看详细的介绍吧 实验环境: 一台linux搭建Web服务器,充当内网web服务器(同时充当内网客户端) 202.100.10.100 一台linux...
  • Python搭建代理IP池(一)- 获取 IP

    万次阅读 多人点赞 2019-10-13 21:57:41
    而对于访问次数,就需要使用代理 IP 来帮忙了,使用多个代理 IP 轮换着去访问目标网址可以有效地解决问题。 目前网上有很多的代理服务网站可以提供代理服务,也提供一些免费的代理,但可用性较差,如果需...
  • 搭建代理IP池的方法

    千次阅读 2020-12-19 14:28:20
    一,免费搭建代理IP池的方法 1.主要用途 当进行数据爬取的时候,有一部分网站是设置了一些反爬虫的设置,这样你的本地IP就会被拉入该网站的系统黑名单中,从而达到禁止本地IP访问数据的请求。而使用代理IP池,即可...
  • 每一个想学习的念头,都有可能是未来的你在向自己求救。 1.写在前面的 本次文章内容需要准备:一台动态 ADSL 拨号服务器,一台普通服务器,一个公网 redis 环境(可以直接部署在前面普通服务器上)。 首先介绍一下 ...
  • 提供三份易语言例子,测试个个都可用,适用于游戏挂机,单窗口单ip,进程代理
  • 但是这些IP质量不高,需要自己手动复制粘贴,测试后再使用,效率底下。我们可以写个爬虫,批量获取免费IP,自动测试后,再使用。 本篇文章使用的目标网址为:proxy list。本教程中不解析页面,而是直接获取json格式...
  • 腾讯云搭建Socks5多IP代理服务器实现游戏单窗口单IP 腾讯云多IP Socks5搭建教程 配合代理工具实现 单窗口单IP 1.多IP服务器选择 2.服务器购买 3.创建弹性网卡,绑定弹性公网IP 实现多IP 4.如何更换IP 5...
  • 天翼云多IP搭建步骤

    2020-04-04 12:20:55
    这个是天翼云搭建IP的教程,就是SK5,教程、仅供参看。
  • Python 实现搭建本地IP代理

    万次阅读 2021-04-06 10:53:42
    本文仅供学习交流使用,如侵立删!...爬取:66ip免费代理 def get_66ip(self): """ 抓取66ip免费代理 :return: """ for index in range(1, self.sixsix_url_range): count = 0 province = '' url = 'http
  • Python爬虫实战——搭建自己IP代理

    万次阅读 多人点赞 2018-10-30 15:49:20
    如今爬虫越来越多,一些网站网站加强反爬措施,其中最为常见的就是限制IP,对于爬虫爱好者来说,能有一个属于自己IP代理池,在爬虫的道路上会减少很多麻烦 环境参数 工具 详情 服务器 Ubuntu 编辑器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,289
精华内容 26,115
关键字:

如何自己搭建ip代理