主要思路是分两步:第一步判断代理IP是否有效,第二步爬取免费网站代理IP,第三步循环判断爬取的代理IP是否有效
一、判断代理IP是否有效
- proxies:代理,分为http与https两种,爬取不同网站时需要选用不同类型的proxies,只有当proxies类型与想访问的网站类型相同时代理ip才会起作用,否则request请求使用的是你真实的ip地址,参考代理IP中的 proxies 介绍及使用
- re.findall():返回string中所有与pattern相匹配的全部字串,返回形式为数据,详细用法参考正则表达式 re.findall 用法、正则表达式 - 元字符
re.findall(pattern,string,flags=0)
代码如下,主要参考测试代理ip是否可用的方法:
import random
import requests
import re
'''
设计思路:利用http://icanhazip.com/返回的IP进行校验,如返回的是代理池的IP,说明代理有效,否则实际代理无效(也可以利用)
'''
# 代理ip池:proxies主要指定代理
PROXIES_NEW = {
"https": [
"https://175.42.129.107:9999",
"https://115.221.246.181:9999",