代理原理 介绍
代理指的就是代理服务器,英文 叫作 proxy server,它的功能是代理网络用户 去取得网络信 息。形象地说,它是网络信息的中转站(可以直白的理解为中介)。 当我们请求一个网站时, 通常是将请求给 Web服务器, Web 服务器再把响应传回给我们 。 如果设置了代理服务器 , 就是在本机和服务器之间搭建了 一个 桥梁,先向代理服务器发出请求,请求会发送给代理服务器,然后由代理服务器发送给 Web 服务器,接着由代理服务器再把 Web 服务器返回的响应转发给本机。 这样我们同样可以正常访问网页,这个过程中 Web 服务器识别出的 IP就不再是我们本机的 IP了,这样就成功实现了 IP伪装,这就是代理的基本原理
常应用于IP访问限制和频繁爬取得网站
手动配置(不使用scrapy框架)
import urllib.request
import random
import urllib.error
import time
# 如果是购买的,通过接口得到数据,然后处理为列表即可
ip_pool = [
'218.60.8.98:3129',
'183.129.207.74:14823',
'114.113.126.82:80',
'171.38.24.228:8123'
]
while 1:
# 从ip列表中随机一个代理ip出来
ip = random.choice(ip_pool)
url = 'http://www.baidu.com/s?ie=UTF-8&wd=ip'
proxy = {
'http': ip
}
handler = urllib.request.ProxyHandler(proxies=proxy)
opener = urllib.request.build_opener(handler)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleW