python爬虫系列(1.1-urllib中常用方法的介绍)

一、关于urllib中常用方法的介绍

  • 1、urlopen网络请求
    urlopen方法是网络请求的方法,默认是get请求,如果传递了datapost请求
  1. from urllib import request
  2. if __name__ == "__main__":
  3. response = request.urlopen('http://www.baidu.com')
  4. print(response.read())
  • 2、urlretrieve下载文件
  1. from urllib import request
  2. if __name__ == "__main__":
  3. # 下载整个网页
  4. request.urlretrieve('http://www.baidu.com', 'baidu.html')
  5. # 下载图片
  6. request.urlretrieve('http://www.baidu.com/img/bd_logo1.png', 'baidu.png')

二、关于编码的处理

  • 1、urlencode将字典类型数据转换为parsed模式
  1. from urllib import parse
  2. if __name__ == "__main__":
  3. dict1 = {
  4. "name": "hello",
  5. "age": "20",
  6. "gender": "man"
  7. }
  8. re = parse.urlencode(dict1)
  9. print(re) # name=hello&age=20&gender=man
  • 2、parse_qsparse_qsl反序列化
  1. from urllib import parse
  2. if __name__ == "__main__":
  3. dict1 = {
  4. "name": "hello",
  5. "age": "20",
  6. "gender": "man"
  7. }
  8. re = parse.urlencode(dict1)
  9. print(re)
  10. print(parse.parse_qs(re))

三、切割url的方法

  • 1、urlspliturlparse方法
  1. from urllib import request, parse
  2. if __name__ == "__main__":
  3. url = 'http://www.baidu.com?name=hello&age=20'
  4. print(parse.urlsplit(url))
  5. print(parse.urlparse(url))
  6. # 输出
  7. # SplitResult(scheme='http', netloc='www.baidu.com', path='', query='name=hello&age=20', fragment='')
  8. # ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='name=hello&age=20', fragment='')
    原文作者:七月
    原文地址: https://zhuanlan.zhihu.com/p/48953280
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞