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

来源:互联网 发布:网络交易监管系统 编辑:程序博客网 时间:2024/06/05 08:13

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

  • 代码如下:
# *-* coding:utf-8 *-*import urllib2response = urllib2.urlopen("http://www.baidu.com")print response.read()
  • 报错如下[Errno 10060]:
    这里写图片描述

2.错误原因:

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

3.解决办法:

  • 通过设置ProxyHandler代理解决,代码如下:
# *-* coding:utf-8 *-*import urllibimport urllib2import 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()使用的全局openerurllib2.install_opener(opener)# 执行urlopen方法之后,返回一个response对象,返回信息便保存在这里面response = urllib2.urlopen("http://www.baidu.com")print response.read()
  • 结果(成功)如下:
    这里写图片描述
原创粉丝点击