使用代理服务器去爬虫的原因:
使用同一个IP去爬取同一个网站上的网页,久了之后会被该网站服务器屏蔽。这个时候我们就可以使用代理服务器。因为使用代理服务器去爬取某个网站的时候,在对方的网站上,显示的不是我们真实的IP地址,而是代理服务器的IP地址。
推荐两个获取免费代理服务器的网址:
使用方法:
1. 设置代理地址(格式为:"ip地址:端口号")
2. 创建ProxyHandler
3. 创建Opener
4. 安装Opener
from urllib import request, error if __name__ == "__main__": baseurl = "http://www.baidu.com" try: # 1.设置代理地址 proxy = {"http": "119.190.184.218:8060"} # 2.创建ProxyHandler proxy_handler = request.ProxyHandler(proxy) # 3.创建Opener opener = request.build_opener(proxy_handler) # 4.安装Opener request.install_opener(opener) # 设置UserAgent headers = { # 冒充Google Chrome "User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36" } req = request.Request(url=baseurl, headers=headers) rsp = request.urlopen(req) html = rsp.read().decode() print(html) except error.URLError as e: print(e) except Exception as e: print(e)