代理IP

博客介绍了使用代理IP访问互联网的原理,即主机先访问代理IP,再由其访问网站,网站接收的是代理IP。还提到用urllib.request.ProxyHandler()动态设置代理IP池,以字典形式写入,将其写入build_opener()生成opener对象发送请求,此外指出访问豆瓣出错需加入cookie。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原理:以主机先访问代理ip,再通过代理IP地址访问互联网,网站(服务器)接收到的访问IP就是代理IP。

urllib.request.ProxyHandler()动态设置代理IP池。代理IP主要以 字典的形式写入。

设置代理之后,将设置好的代理IP写入urllib.request.build_opener()方法 ,生成opener对象,通过opener的open方法向网站(服务器)发送请求。

import urllib.request
from http import cookiejar

url = 'http://movie.douban.com/'
#设置代理IP
proxy_handler = urllib.request.ProxyBasicAuthHandler({
    'http':'',
    'https':''
})

#必须使用build_opener()函数来创建带有代理IP功能的opener对象
opener = urllib.request.build_opener(prxies=proxy_handler)
r = opener.open(url)
html = r.read().decode('utf-8')
f = open('html.txt', 'w', encoding='utf-8')
f.write(html)
f.close()

豆瓣有登陆,运行出错
加入cookie

import urllib.request
from http import cookiejar

url = 'http://movie.douban.com'

filename = 'cookie.txt' 

#创建MozillaCookieJar对象
cookie = cookiejar.MozillaCookieJar(filename)

#读取cookie内容到变量
cookie.load(filename, ignore_discard=True, ignore_expires=True)

#httpcookieprocessor创建cookie处理器
handler = urllib.request.HTTPCookieProcessor(cookie)

#创建opener
opener = urllib.request.build_opener(handler)

#opener打开网页
r = opener.open(url)
print(r.read())
cookie.save(ignore_discard=True, ignore_expires=True)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值