您的位置:首页 > 编程语言 > Python开发

Python爬虫简单常用方法

2017-10-27 19:45 387 查看
Q:什么是Urllib库?

A:Urllib库是Python中一个功能强大,用于操作URL,并在做爬虫项目时经常要用到的库。在Python2.X中,分为Urllib库和Urllib2库,但是在Python3.X之后合并到UrlLib中。

Q:Urllib升级合并后,常见的变化有哪些呢?

A:(1):在Python2.X中使用import.urllib2—对应的,在Python3.X中会使用import.urllib.request,urlib.error

(2):在Python2.X中使用import.urlparse—对应的,在Python3.X中会使用import.urllib.parse

(3):在Python2.X中使用import.urlopen—对应的,在Python3.X中会使用import.urllib.request.urlopen

(4):在Python2.X中使用import.urlencode—对应的,在Python3.X中会使用import.urllib.parse.urlencode

(5):在Python2.X中使用import.quote—对应的,在Python3.X中会使用import.urllib.request.quote

(6):在Python2.X中使用cookielib.CookieJar—对应的,在Python3.X中会使用http.CookieJar

(6):在Python2.X中使用cookielib.CookieJar—对应的,在Python3.X中会使用http.CookieJar

(7):在Python2.X中使用urllib2.Request—对应的,在Python3.X中会使用urllib.request.Request

常用方法

1. urllib.request.urlopen(“网址”) 返回文件对象

例如:file = urllib.request.urlopen(“https://www.baidu.com“)

此时可以通过文件对象的三种读取方法:.read(),readlines(),readline()

url.request.urlretrieve(“https://www.baidu.com“,filename=”本地文件地址”) 将爬取到的信息写入本地文件中

注意:urlretrieve执行过程中会产生一些缓存,如要清除这些缓存,可以使用urlcleanup()进行清除。如:urllib.request.urlcleanup() 。

爬取的网页对象.info() 返回与当前环境有关的信息。

如:file = urllib.request.urlopen(“https://www.baidu.com“)

file.info()

爬取的网页对象.getcode() 返回当前爬取网页的状态码

爬取的网页对象.geturl() 返回当前正在爬取的url地址

url乱码解决方案

Q:为什么会产生url乱码?

A:一般来说,url标准中只会允许出现一部分ASCII字符,比如数字,字母和部分符号,而其他的一些字符和汉字等等是不符合url标准,所以在url中如果有不合法字符就会产生乱码,这个就需要url编码才能解决。在urllib库中提供了urllib.request.quote()进行编码。

例如需要对网址”https://www.baidu.com“编码,可以通过下列代码实现:

urllib.request.quote(“https://www.baidu.com“)

既然存在编码,如果需要解码,可以通过urllib.request.unquote(“编码后的网址”)来进行解码。

以上是Python3.X中urllib库的简单运用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  urllib 爬虫-python