http://www.66ip.cn/ 66免费代理网
http://www.proxy360.cn/Region/China proxy360代理网
http://www.goubanjia.com/free/gngn/index.shtml
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 爱赚免费IP:http://ip.izmoney.com/
Java语言有两种方式使用代理IP访问网址并获取内容,
方式一,设置System系统属性
// 设置代理IP System.getProperties().setProperty("proxySet", "true"); System.getProperties().setProperty("http.proxyHost", "218.26.204.66"); System.getProperties().setProperty("http.proxyPort", "8080"); HttpUrlConnection connection = (HttpUrlConnection)new URL("http://www.baidu.com/").openConnection(); connection.setConnectTimeout(6000); // 6s connection.setReadTimeout(6000); connection.setUseCaches(false); if(connection.getResponseCode == 200){ System.out.println("使用代理IP连接网络成功"); }
方式二,使用java.net.Proxy类
// 使用java.net.Proxy类设置代理IP Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("123.22.43.3", 8080); HttpUrlConnection connection = (HttpUrlConnection)new URL("http://www.baidu.com/").openConnection(proxy); connection.setConnectTimeout(6000); // 6s connection.setReadTimeout(6000); connection.setUseCaches(false); if(connection.getResponseCode == 200){ System.out.println("使用代理IP连接网络成功"); }
免费http/https代理IP网址:
http://www.freeyuming.cn/ip
浏览器使用方式(360浏览器作为演示,其他的类似):
工具 - Internet选项 - 连接-局域网设置-代理服务器-填入地址端口-确定-确定-设置使用IE代理服务器
代理ip可用可用时连接成功
接下来是爬虫使用ip
Python爬虫使用代理ip
假如要使用的代理是http://183.47.40.35:8088
import requests
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/64.0.3282.186 Safari/537.36'}
url = 'https://www.baidu.com/'
r = requests.get(url, headers=header, proxies={"http":"http://183.47.40.35:8088"},timeout=5)
print r.text
重要代码我放github上
http://www.66ip.cn/ 66免费代理网
http://www.proxy360.cn/Region/China proxy360代理网
http://www.goubanjia.com/free/gngn/index.shtml
转载于:https://www.cnblogs.com/liu-kun/p/9857104.html
python爬虫,爬取免费代理IP
`
导入模块
import requests #导入requests from lxml import etree #导入lxml
- 寻找目标网站:
我找的是89免费代理IP
- 找到目标网站后,我们设置一个URL:
url = 'http://www.89ip.cn/index_1.html'
- 请求网址:
re = requests.get(url) #请求网址 print(re) #打印状态码
这是返回的状态码,可以看见是200,说明请求成功了。我们继续下一步。
4. 获取html源码,将它装换位lxml可以理解的格式:res = re.text soup = etree.HTML(res) print(soup)
运行程序,可以结果:
看到这个,说明转换成功了。
- 用xpath语法把代理IP抓下来
首先,我们要知道我们要的IP在哪个位置,
点击那个小鼠标,再选中IP,就可以找到IP在html这的位置了。
这时我们看到,我们要的IP在一个<td>
元素中
我们鼠标右键,
点击copy xpath,这样就复制了IP在html中的路径。htmls = soup.xpath('/html/body/meta"utf-8"/div[3]/div[1]/div/div[1]/table/tbody/tr[1]/td/text()') print(html)
运行下,可以看到:
我们可以看到我们的IP已经拿到了
xpath将IP以列表的形式展示给我们,接下来我们用for循环将它遍历出来。for html in htmls: print(html)
这是运行结果:
可以看到它把我们要的IP打印出来了
对比下:
这样我们就拿到了我们要的IP全部代码如下:
import requests 导入 # requests from lxml import etree # 导入lxml # 请求头 headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36' } # URL url = 'http://www.89ip.cn/index_1.html' # 请求网址 re = requests.get(url, headers = headers).content # 转换lxml可理解格式 soup = etree.HTML(re) # 用xpath抓取数据 html = soup.xpath('//*[@class="layui-table"]/tbody/tr/td[1]/text()') # 用for循环遍历数据 for td in html: print(td)
谢谢阅读