Python爬虫(2):urllib库
2019-04-11 10:30:34来源:博客园 阅读 ()
爬虫常用库urllib
注:运行环境为PyCharm
urllib是Python3内置的HTTP请求库
urllib.request:请求模块
urllib.error:异常处理模块
urllib.parse:url解析模块
urllib.robotparse:robot.txt解析模块
1、urllib.request.urlopen(url, data=None, [timeout]*, cafile=None, cadefault=False,content=None)
url:请求网址
data:请求时需要发送的数据
timeout:超时设置
from urllib import request # 请求获取网页返回内容 response = request.urlopen('https://www.toutiao.com/') # 获取网页返回内容 print(response.read().decode('utf-8')) # 获取状态码 print(response.status) # 获取请求头 print(response.getheaders()) # 对请求头进行遍历 for k, v in response.getheaders(): print(k, '=', v)
当爬去一些反爬网站时,需要适当地增加请求头进行请求要用到Request对象。
2、error.URLError:url的一些问题,这个异常只有一个reason属性
error.HTTPError:error.URLError的子类,在与上面的混合使用时需要将这个异常放到前面,这个异常是一些请求错误,有三个方法,.reason(), .code(), .headers(),在捕捉异常时通常先使用这个
3、urllib.parse.urlparse(url,scheme=‘’,allow_fragments=True)
解析url
from urllib import request, parse # 解析url print(parse.urlparse('https://movie.douban.com/')) print(parse.urlparse('https://movie.douban.com/', scheme='http')) print(parse.urlparse('movie.douban.com/', scheme='http')) 结果: ParseResult(scheme='https', netloc='movie.douban.com', path='/', params='', query='', fragment='') ParseResult(scheme='https', netloc='movie.douban.com', path='/', params='', query='', fragment='') ParseResult(scheme='http', netloc='', path='movie.douban.com/', params='', query='', fragment='')
反解析url
from urllib import parse # 将列表元素拼接成url url = ['http', 'www', 'baidu', 'com', '1554384640', 'f2b8183cd1e469a'] # 这里至少需要6个元素 print(parse.urlunparse(url)) 结果: http://www/baidu;com?1554384640#f2b8183cd1e469a
参考资料:
1、Python爬虫常用库之urllib详解|日常学python:https://mp.weixin.qq.com/s?src=11×tamp=1554382467&ver=1526&signature=fJepqC9Qswpe2fWjtxmNrUth3gX5vZ0jPBQyzBeqQMhhfbj462b*Jk0WPXYUjXP6dUP63tU8G0HqPV9sDWllrGVr0frRAERQE4fY-6oqE5ZZxUXRnIW508nhNQdnQ*be&new=1
原文链接:https://www.cnblogs.com/finsomway/p/10657208.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:网络编程—udp
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash