您的位置:首页 > 其它

爬虫学习笔记01(问题:Errno 10060)

2017-07-31 16:59 197 查看
1.扒取网页源码,以“http://www.baidu.com”为例

代码如下:

# *-* coding:utf-8 *-*
import urllib2

response = urllib2.urlopen("http://www.baidu.com")
print response.read()


报错如下[Errno 10060]:



2.错误原因:

在办公网下,执行该段代码则会报错,猜测是公司对于外网的访问策略限制导致。

3.解决办法:

通过设置ProxyHandler代理解决,代码如下:

# *-* coding:utf-8 *-*

import urllib
import urllib2
import re

# 生成一个字典保存代理地址和端口号
proxy_info = {'host': 'xxxxxxx', 'port': 8083}

# ProxyHandler()的入参为键值对,例如:proxy = urllib2.ProxyHandler({'http': '127.0.0.1:8087'})
# ProxyHandler()方法获取一个代理处理程序,实质为一个实例对象
proxy_support = urllib2.ProxyHandler({"http": "http://%(host)s:%(port)d" % proxy_info})

# 使用build_opener()函数创建自定义Opener对象
opener = urllib2.build_opener(proxy_support)

# 安装不同的opener对象作为urlopen()使用的全局opener
urllib2.install_opener(opener)

# 执行urlopen方法之后,返回一个response对象,返回信息便保存在这里面
response = urllib2.urlopen("http://www.baidu.com")
print response.read()


结果(成功)如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: