python爬虫教程--代理服务器

一.代理服务器设置

        如果使用同一个IP去爬取一个网站的网页,时间久了会别该网站服务器屏蔽,所以,为了防止出现自己的IP被网站服务器屏蔽的事情发生,我们可以使用比如的IP,就算别屏蔽了,也是别人的IP,如果不知道怎么找代理服务器的可以到网上找

首先我们介绍几个方法:

ProxyHandler() 方法:这个是设置对应的服务器信息,设置格式如下:url.request.ProxyHandler({'http':代理服务器的地址})

build_open()方法:这个方法创建一个自定义的opener对象

例如:

def use_proxy(proxy_addr,url):
    import urllib.request
    proxy=urllib.request.ProxyHandler({'http':proxy_addr})
    opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
    urllib.request.install_opener(opener)
    data=urllib.request.urlopen(url).read().decode('utf-8')
    return data
proxy_addr="202.75.210.45:7777"
data=use_proxy(proxy_addr,"http://www.baidu.com")
print(len(data))

二.DebugLog实战

        如果想在程序运行时边运行边打印调试日志,此时就需要开启Debuglog,开启Bebuglog方法如下:

(1)使用urllib.request.HTTPHandler()和urllib.request.HTTPShandler()将debuglevel设置为1

(2)使用urllb.request.build_opener()创建自定义的opener对象,并使用(1)中设置的值作为参数

(3)使用urllib.request.install_opener()创建全局默认的opener对象,这样,使用urlopen时也会自动使用我们安装的opener对象

(4)进行后续操作

根据上面的思路,可以通过代码开启BebugLog:

import urllib.request
httphd=urllib.request.HTTPHandler(debuglevel=1)
httpshd=urllib.request.HTTPSHandler(debuglevel=1)
opener=urllib.request.build_opener(httphd,httpshd)
urllib.request.install_opener(opener)
data=urllib.request.urlopen("http://www.baidu.com")

当我们运行程序时就会打印调试的Log日志

猜你喜欢

转载自blog.csdn.net/weixin_63009369/article/details/129476595
今日推荐