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

1.扒取网页源码,以“http://www.baidu.com”为例

  • 代码如下:
# *-* coding:utf-8 *-*
import urllib2

response = urllib2.urlopen("http://www.baidu.com")
print response.read()
  • 报错如下[Errno 10060]:
    爬虫学习笔记01(问题:Errno 10060)_第1张图片

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()
  • 结果(成功)如下:
    爬虫学习笔记01(问题:Errno 10060)_第2张图片

你可能感兴趣的:(python爬虫)