python 3.x 爬虫基础---Urllib详解
2018-02-23 14:24
926 查看
python 3.x 爬虫基础
python 3.x 爬虫基础---http headers详解python 3.x 爬虫基础---Urllib详解
前言
爬虫也了解了一段时间了希望在半个月的时间内结束它的学习,开启python的新大陆,今天大致总结一下爬虫基础相关的类库---Urllib。Urllib
官方文档地址:https://docs.python.org/3/library/urllib.htmlurllib提供了一系列用于操作URL的功能。
Python3中将python2.7的urllib和urllib2两个包合并成了一个urllib库,其主要包括一下模块:
urllib.request 请求模块
urllib.error 异常处理模块
urllib.parse url解析模块
urllib.robotparser robots.txt解析模块
urllib.request
urllib.request.urlopen
import http.cookiejar, urllib.request cookie = http.cookiejar.MozillaCookieJar() cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True) handler = urllib.request.HTTPCookieProcessor(cookie) opener = urllib.request.build_opener(handler) response = opener.open('http://www.baidu.com') print(response.read().decode('utf-8'))
View Code
其中FileCookieJar、MozillaCookieJar、LWPCookieJar约为保存cookie信息,只是保存格式不同。我们在进行操作cookie时使用对应的格式即可。
urllib.error
用 try-except来捕捉异常,主要的错误方式就两种 URLError(错误信息)和HTTPError(错误编码).try: data=urllib.request.urlopen(url) print(data.read().decode('utf-8')) except urllib.error.HTTPError as e: print(e.code) except urllib.error.URLError as e: print(e.reason)
urllib.parse
urllib.parse.urlparse
将对应的URL解析成六部分,并以元组的数据格式返回来。import urllib.parse o = urllib.parse.urlparse('http://www.cnblogs.com/kmonkeywyl/') print(o)
参数
result = urlparse('url',scheme='https')解析协议 可以去掉http://
result = urlparse('url',scheme='http')
result = urlparse('url',allow_fragments=False) url带有查询参数
result = urlparse('url',allow_fragments=False) url不带有查询参数
urllib.parse.urlunparse
拼接urlfrom urllib.parse data = ['http','www.baidu.com','index.html','user','a=1','comment'] print(urllib.parse.urlunparse(data))
urllib.parse.urljoin
用来拼接url的方法 或者叫组合方法,url必须为一致站点,否则后面参数会覆盖前面的hostfrom urllib.parse import urljoin print(urljoin('http://www.baidu.com','FAQ.html')) print(urljoin('http://www.badiu.com','https://www.baidu.com/FAQ.html')) print(urljoin('http://www.baidu.com/about.html','http://www.baidu.com/FAQ.html')) print(urljoin('www.baidu.com#comment','?category=2'))
这个在这个就不过多的介绍了,有兴趣的可以去看资料。
相关文章推荐
- Python爬虫基础之XPath语法与lxml库的用法详解
- Python 爬虫基础 - Urllib 模块(1)
- python 3.x 爬虫基础---Requersts,BeautifulSoup4(bs4)
- Python 爬虫基础urllib的使用(二十)
- 运维学python之爬虫基础篇(三)urllib模块高级用法
- Python3爬虫学习笔记(1.urllib库详解)
- Python爬虫基础细节(urllib+cookielib+BeautifulSoup)
- Python基础知识——urllib模块在爬虫中的应用
- 零基础写python爬虫之urllib2使用指南
- python 爬虫入门(2) 爬虫基础知识 ; urllib 模块 ;urllib2 模块
- python2和python3中urllib的用版本区别及用法 爬虫基础
- 零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
- 数据爬虫(二):python爬虫中urllib库详解,parse和request使用方法
- python爬虫 (一) 爬虫基础了解,urllib
- python 3.x 爬虫基础---正则表达式
- python 3.x 爬虫基础---http headers详解
- python爬虫基础知识(一)--Urllib.request
- 零基础写python爬虫之urllib2使用指南
- Python爬虫入门:Urllib库使用详解(模拟CSDN登录)