码迷,mamicode.com
首页 > 编程语言 > 详细

Python3之网络爬虫<0>初级

时间:2017-08-23 23:08:55      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:方法   统一   call   library   module   class   pre   rand   doc   

由于Python3合并URLib与URLlib2统一为URLlib,Python3将urlopen方法放在了urllib.request对象下。

官方文档:https://docs.python.org/3/library/urllib.request.html#module-urllib.request

在实现爬取网页过程中,屡次执行以下脚本:

#coding:UTF-8
import random;
import urllib.request;# 不推荐使用 import urllib
rawdata =
urllib.request.urlopen(http://www.111cn.net/phper/python/68713.htm).read();

file = open("testfile","w+");
file.write(str(rawdata));

然而屡次报错:

E:\workspace\Python\python_study201708>python charsetTest.py
Traceback (most recent call last):
File "charsetTest.py", line 3, in <module>
import urllib.request;
File "D:\Python\lib\urllib\request.py", line 98, in <module>
import tempfile
File "D:\Python\lib\tempfile.py", line 45, in <module>
from random import Random as _Random
ImportError: cannot import name ‘Random‘

于是乎,我就抖了一下机灵:

将tempfile.py中第45行导入代码更改为:

# from random import Random as _Random #20170823 22:22改
from _random import Random as _Random

给它换了一个导入对象~

然后运行成功。

 

留下疑问:

  这难道是py3的bug么??。。。。。不是有那么多人用urllib这个模块么,难道都没有出现和发现这个问题?错觉?。。excuse me?

 

参考文档:

  Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)[http://www.111cn.net/phper/python/68713.htm]

Python3之网络爬虫<0>初级

标签:方法   统一   call   library   module   class   pre   rand   doc   

原文地址:http://www.cnblogs.com/johnnyzen/p/7420583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!