一、URL解析
from urllib.parse import urlparse
doubanUrl = 'https://movie.douban.com/subject/4864908/comments?sort=new_score&status=P'
info = urlparse(doubanUrl)
print(info)
print(info.scheme)
运行结果
ParseResult(scheme='https', netloc='movie.douban.com', path='/subject/4864908/comments', params='', query='sort=new_score&status=P', fragment='')
>>> info.scheme
https
>>> info.hostname 或者info.netloc
'movie.douban.com'
>>> info.path
'/subject/4864908/comments'
>>> info.query
'sort=new_score&status=P'
urlparse()方法返回一个ParseResult对象
from urllib.parse import urlparse
只是导入了urllib.parse 模块里面urlparse()这一个方法
这种格式导入 urlparse方法的导入不用再写模块名
urllib.parse.urlparse(doubanUrl)
而是直接urlparse(doubanUrl)
二、常见的请求method
GET:请求信息放在URL中,如在百度中搜索"Datawhale",那么https://www.baidu.com/s?wd=Datawhale,提交的搜索词在URL中
POST:请求信息放在一个表单里包含在请求体中,而不是放在URL中
GET请求提交的数据最多只有1024字节,而POST没有限制
如果涉及到密码、隐私、大文件,我们通常使用POST的方式
如果服务器在定义URL的时候指明了必须要用某一种请求方法,则客户端(浏览器或爬虫)请求时必须用这种方法去请求
(1)使用内置urllib库实现get、post的简单实例
import urllib.request
# 构建GET请求
f = urllib.request.urlopen