猫史档案馆


【Python作品】代理IP获取器

用户:tq_xyytq_xyy查看:1 回复:1 评论:1 创建时间:2020-09-05T19:50:54


import requests
import bs4
import time
import random
from json import dumps
from pprint import pprint

headers = {
    'Accept': '*/*',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-Hans-CN, zh-Hans; q=0.5',
    'Cache-Control': 'no-cache',
    'Connection': 'Keep-Alive',
    'Host': 'www.kuaidaili.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363'
}

def get_proxy(page=1):
    html = requests.get(f'https://www.kuaidaili.com/free/intr/{page}', headers=headers).text
    soup = bs4.BeautifulSoup(html, 'html.parser')
    proxy_list = soup.find_all('td', attrs={'data-title':['IP','PORT']})
    proxy_dict = {}
    for i in range(0,30, 2):
        proxy_dict[proxy_list[i].string] = proxy_list[i+1].string
    return proxy_dict

def get_all(count, timeout=10):
    result = {}
    if count == 1:
        return get_proxy(1)
    
    for i in range(count):
        r = get_proxy(i + 1)
        result.update(r)
        time.sleep(timeout)    # 因为访问太快不会返回 -10
    return result

if __name__ == "__main__":
    proxy = get_all(5, 1)
    for ip, host in proxy.items():
        print('找到代理:', f'{ip}:{host}')
    pprint(proxy, indent=4)


回复

上一页1 页 / 共 1下一页
tq_xyytq_xyy

代理:www.kuaidaili.com

点赞0


评论