网站首页 > 资源文章 正文
使用同一个ip去爬取同一个网站的网页,可能会被屏蔽,这个时候,我们就可以使用代理服务器来解决这个问题。网上的免费获取代理服务器地址的网站,大脚可以自行搜索,一般可以用他们提供的免费代理服务器地址,当然如果有钱的话,用付费的可能会靠谱一点。
那么怎么利用这些个地址呢,我的建议是可以自己写一个爬虫(后面会写一个源码供大家参考),然后把提供代理服务器地址的网站的ip地址一个一个爬取出来,存放到一个文件,或者数据库,可以存在MongoDB里面。要用的时候,读取出来,就可以用来设置代理服务器地址了。代理服务器地址的更换、检验可用与否等都可以通过代码整合起来调用。
那么具体怎么设置呢,其实非常简单。这里我们主要讲urllib和requests两种方法的代理服务器设置,直接看代码,很容易就懂了。
urllib设置方法
Bash
import urllib.request
def use_proxy(proxy_addr,url):
proxy= urllib.request.ProxyHandler({‘http’:proxy_addr})
opener = urllib.request.build_opener(proxy)
request = urllib.request.Request(url)
response = opener.open(request)
print(response.headers)
data = response.read().decode(‘utf-8’)
return data
proxy_addr=“183.148.140.162:9999” #代理地址
data=use_proxy(proxy_addr,”http://www.baidu.com“)
print(len(data))
如果抛出urllib.error.URLError: 的异常,一般是代理地址太慢或者已经失效的问题,可以更换代理ip地址解决。
requests设置代理的方法更简单,post方法也是一样。
Bash
import requests
proxies = {
‘http’: ‘http://61.176.223.7:58822’
} #代理地址
r = requests.get(“http://www.baidu.com“, proxies=proxies)
print(r.headers)
注:若代理需要使用HTTP Basic Auth,可以使用 http://user:password@host/语法:
proxies = { “http”: “http://user:pass@10.10.1.10:3128/“, }
由于免费的代理服务器地址都是不稳定的,很多都不能用或者不稳定,或者很快就失效了,所以如果有钱还是可以用付费代理ip地址会比较稳定啦。建议还是用requests方式进行请求,相对urllib的方法,比较方便。
猜你喜欢
- 2024-10-27 动态拨号VPS使用CentOS7配置带用户认证的squid代理服务器流程
- 2024-10-27 居家或外出办公,使用OpenVPN代理访问公司内网部署
- 2024-10-27 服务器创建ip代理,使用代理进行网络请求!
- 2024-10-27 代理服务器搭建点滴汇总(代理 服务器)
- 2024-10-27 如何用nginx 服务器搭建代理工具(nginx搭建http代理)
- 2024-10-27 网络代理服务器出现问题?别慌,这里有3种解决办法!
- 2024-10-27 云服务器初体验-代理服务器(云服务代理能赚钱吗)
- 2024-10-27 代理服务器的匿名等级,如何查看?
- 2024-10-27 通过代理服务器内网访问原来如此简单SwitchyOmega+proxy_go
- 2024-10-27 如何通过命令查询代理服务器地址?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)