python3.x以上 爬虫 使用问题 urllib(不能使用urllib2)

Posted 夜天铭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3.x以上 爬虫 使用问题 urllib(不能使用urllib2)相关的知识,希望对你有一定的参考价值。

问题一: python 3.x 以上版本揽括了 urllib2,把urllib2 和 urllib 整合到一起。

 并且引入模块变成一个,只有 import urllib

# import urllib
# import urllb2

#正确使用

import urllib

  

  所以不能使用 urllib2.urlopen()方法,否则会报错无此模块。

NameError: name ‘urllib2‘ is not defined

  

 3.x以上版本 # urllib2.open  不能使用,用urllib.request 模块 代替urllib2

1 import urllib.request
2 
3 response = urllib.request.urlopen(‘http://www.baidu.com)

 

问题二: 变量名不能与引入模块名方法相同,否则会引起错误

  

 1 import urllib.request
 2 
 3 #错误写法
 4 
 5 request = urllib.request.urlopen(‘http://www.baidu.com)
 6 
 7 #否则 TypeError: ‘module‘ object is not callable
 8 
 9 #正确写法
10 
11 rqs = urllib.request.urlopen(‘http://www.baidu.com)

问题四 print 输出问题

  3.x  版本 print 已经成为一个方法, 输出任何东西都要需要被 ()括号 包括,不然会出现问题

 

第一步初步 方法 爬去百度首页

1 import urllib.request
2 
3 rqs = urllib.request.urlopen(http://www.baidu.com)
4 
5 html = rqs.read()
6 
7 print(html)

 

以上是关于python3.x以上 爬虫 使用问题 urllib(不能使用urllib2)的主要内容,如果未能解决你的问题,请参考以下文章

python3.X版本与2.X版本里urllib库的不同

Python爬虫_urllib2的使用

爬虫初探之urllib.request

Python3网络爬虫:利用urllib进行简单的网页抓取

Python3.x 爬虫

Python3.X爬虫