| 12345678910111213141516171819202122232425262728293031323334 |
- from proxypool.schemas import Proxy
- import re
- def is_valid_proxy(data):
- """
- is data is valid proxy format
- :param data:
- :return:
- """
- return re.match('\d+\.\d+\.\d+\.\d+\:\d+', data)
- def convert_proxy_or_proxies(data):
- """
- convert list of str to valid proxies or proxy
- :param data:
- :return:
- """
- if not data:
- return None
- # if list of proxies
- if isinstance(data, list):
- result = []
- for item in data:
- # skip invalid item
- item = item.strip()
- if not is_valid_proxy(item): continue
- host, port = item.split(':')
- result.append(Proxy(host=host, port=int(port)))
- return result
- if isinstance(data, str) and is_valid_proxy(data):
- host, port = data.split(':')
- return Proxy(host=host, port=int(port))
|