python爬蟲系列(1.1-urllib中常用方法的介紹)
阿新 • • 發佈:2018-11-09
一、關於urllib
中常用方法的介紹
-
1、
urlopen
網路請求urlopen
方法是網路請求的方法,預設是get
請求,如果傳遞了data
是post
請求from urllib import request
if __name__ == "__main__":
response = request.urlopen('http://www.baidu.com')
print(response.read())
-
2、
urlretrieve
下載檔案from urllib import request
if __name__ == "__main__":
# 下載整個網頁
request.urlretrieve('http://www.baidu.com', 'baidu.html')
# 下載圖片
request.urlretrieve('http://www.baidu.com/img/bd_logo1.png', 'baidu.png')
二、關於編碼的處理
-
1、
urlencode
將字典型別資料轉換為parsed
模式from urllib import parse
if __name__ == "__main__":
dict1 = {
"name": "hello",
"age": "20",
"gender": "man"
}
re = parse.urlencode(dict1)
print(re) # name=hello&age=20&gender=man
-
2、
parse_qs
和parse_qsl
反序列化from urllib import parse
if __name__ == "__main__":
dict1 = {
"name": "hello",
"age": "20",
"gender": "man"
}
re = parse.urlencode(dict1)
print(re)
print(parse.parse_qs(re))
三、切割url
的方法
-
1、
urlsplit
和urlparse
方法from urllib import request, parse
if __name__ == "__main__":
url = 'http://www.baidu.com?name=hello&age=20'
print(parse.urlsplit(url))
print(parse.urlparse(url))
# 輸出
# SplitResult(scheme='http', netloc='www.baidu.com', path='', query='name=hello&age=20', fragment='')
# ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='name=hello&age=20', fragment='')