• 大小: 2KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: Python
  • 标签: python  ip代理  

资源简介

获取免费ip代理python代码,支持ip代理可用性验证,支持数据库入库!
获取免费ip代理python代码,支持ip代理可用性验证,支持数据库入库!

资源截图

代码片段和文件信息

# _*_ coding:utf-8 _*_
# Create by Saseny on 2019-06-01


import requests
import re
import time
import mysql.connector


class IP_Proxy(object):
    url_special = ‘https://www.kuaidaili.com/free/inha/{}/‘
    url_normal = ‘https://www.kuaidaili.com/free/intr/{}/‘
    create_table_sql = ‘CREATE TABLE ‘proxy‘ (‘ \
                       + ‘‘ip‘ varchar(255) NOT NULL‘ \
                       + ‘‘port‘ varchar(255) NOT NULL‘ \
                       + ‘‘conceal‘ varchar(255) NOT NULL‘ \
                       + ‘‘type‘ varchar(255) DEFAULT NULL‘ \
                       + ‘‘location‘ varchar(255) DEFAULT NULL‘ \
                       + ‘‘speed‘ varchar(255) DEFAULT NULL‘ \
                       + ‘‘last-verify‘ varchar(255) DEFAULT NULL‘ \
                       + ‘‘status‘ varchar(255) DEFAULT NULL‘ \
                       + ‘PRIMARY KEY (‘ip‘)‘ \
                       + ‘) ENGINE=InnoDB DEFAULT CHARSET=utf8;‘

    def __init__(self **kwargs):
        self.store = kwargs.get(“store“ False)
        self.host = kwargs.get(“host“ None)
        self.port = kwargs.get(“port“ None)
        self.database = kwargs.get(“database“ None)
        self.username = kwargs.get(“username“ None)
        self.password = kwargs.get(“password“ None)
        self.table = kwargs.get(“table“ None)
        self.config = {}
        self.connect = None
        self.configInit()

    def page(self url verify=True):
        “““
        :param url: url for ip proxy search
        :return: “IP“ “PORT“ “匿名度“ “类型“ “位置“ “响应速度“ “最后验证时间“
        “““
        dataInfoList = []
        try:
            response = requests.get(url)
            data = re.findall(r‘tle=“.*?“>(.*?)‘ response.text)

            for i in range(0 len(data) 7):
                info = {
                    “ip“: data[i]
                    “port“: data[i + 1]
                    “conceal“: data[i + 2]
                    “type“: data[i + 3]
                    “location“: data[i + 4]
                    “speed“: data[i + 5]
                    “last-verify“: data[i + 6]
                    “status“: str(self.verify(data[i] data[i + 1]) if verify is True else None)
                }

                self.insertSql(info)

                dataInfoList.append(info)

        except Exception as e:
            pass

        return dataInfoList

    @classmethod
    def verify(self ip port):
        “““
        :param ip: ip address
        :param port: proxy port
        :return: whether for use
        “““
        server = ‘http://‘ + ip + ‘:‘ + port
        head = {
            ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/50.0.2661.102 Safari/537.36‘
            ‘Connection‘: ‘keep-alive‘
        }

        try:
            p = requests.get(url=‘http://icanhazip.com‘ headers=head proxies={“http“: server} timeout=3)

            findOut = re.findall(r‘\d+\.\d+\.\d+.\d+‘ str(p.text))

            if str(ip

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        5772  2019-06-03 09:50  get_ip_proxy.py
     目录           0  2019-06-03 10:01  __MACOSX\
     文件         176  2019-06-03 09:50  __MACOSX\._get_ip_proxy.py

评论

共有 条评论