python3使用代理ip伪装爬虫访问网站
2017-06-03 22:38
941 查看
这是学习小甲鱼的视频写的一毛一样的程序
报错:
找腿子,分析一波,是www.whatismyip.com.tw这个网站被爬的太多次,就和之前的有道一般,搜拉拉的升级了网站,不能用python直接刚,然后腿子加了个headers,换个ip,成功执行,与想象中的效果一样。下面是润色过的代码:
'使用代理ip伪装爬虫' ''' 使用代理第一步: proxy_support = urllib.request.ProxyHandler({}) 使用代理第二步: opener = urllib.request.build_opener(proxy_support) 使用代理第三步: urllib.request.install_opener(opener);opener.open(url) ''' import urllib.request url = 'http://www.whatismyip.com.tw' proxy_handle = urllib.request.ProxyHandler({'http':'220.249.185.178:9999'}) #{'类型':'代理ip:端口'} opener = urllib.request.build_opener(proxy_handle) #创建一个opener urllib.request.install_opener(opener) #安装一个opener response = urllib.request.urlopen(url) html = response.read().decode('utf-8') #访问opener,返还给response,将response解码 print(html)
报错:
urllib.error.URLError: <urlopen error [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。>
找腿子,分析一波,是www.whatismyip.com.tw这个网站被爬的太多次,就和之前的有道一般,搜拉拉的升级了网站,不能用python直接刚,然后腿子加了个headers,换个ip,成功执行,与想象中的效果一样。下面是润色过的代码:
'代理ip' import urllib.request import urllib.error url = 'http://www.whatismyip.com.tw' proxy_handle = urllib.request.ProxyHandler({'http':'36.36.178.226:9797'}) opener = urllib.request.build_opener(proxy_handle) urllib.request.install_opener(opener) headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'} try: req = urllib.request.Request(url,headers=headers) response = urllib.request.urlopen(req) html = response.read().decode('utf-8') print(html) except urllib.error.URLError as e: print(e.reason)
相关文章推荐
- python3使用代理ip访问指定网站
- python使用代理ip访问网站的实例
- python使用代理ip访问网站
- Tomcat 发布部署jsp网站—-使用自己的ip访问jsp网站
- 使用Apache的Proxy模块实现对被代理网站的访问
- 防恶意解析,禁止用IP访问网站的Apache设置+如何阻止网站被恶意反向代理访问
- AFNetworking 原作者都无法解决的问题: 如何使用ip直接访问https网站?
- C#:WebBrowser控件设置代理IP访问网站【附源码】
- ubuntu无线连接使用ip可以访问网站,但是使用域名却不可以访问的解决办法
- wamp不能使用phpmyadmin和不能通过ip访问局域网内的网站
- python3使用多代理访问网站
- AFNetworking 原作者都无法解决的问题: 如何使用ip直接访问https网站?
- 让IE部分网站或IP进行代理访问
- Nginx中禁止使用IP访问网站的配置实例
- Tomcat 发布部署jsp网站—-使用自己的ip访问jsp网站
- 使用squid代理后某些网站无法访问的解决办法(3.1.7版本)
- 使用iptables封指定IP访问网站的方法
- PHP使用代理访问网站方法
- Java中使用多线程、curl及代理IP模拟post提交和get访问