1. 程式人生 > >python爬蟲系列(1.1-urllib中常用方法的介紹)

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

一、關於urllib中常用方法的介紹

  • 1、urlopen網路請求

    urlopen方法是網路請求的方法,預設是get請求,如果傳遞了datapost請求

    1. from urllib import request
    2.  
    3. if __name__ == "__main__":
    4. response = request.urlopen('http://www.baidu.com')
    5. print(response.read())
  • 2、urlretrieve下載檔案

    1. from urllib import request
    2.  
    3. if __name__ == "__main__":
    4. # 下載整個網頁
    5. request.urlretrieve('http://www.baidu.com', 'baidu.html')
    6. # 下載圖片
    7. request.urlretrieve('http://www.baidu.com/img/bd_logo1.png', 'baidu.png')

二、關於編碼的處理

  • 1、urlencode將字典型別資料轉換為parsed模式

    1. from urllib import parse
    2.  
    3. if __name__ == "__main__":
    4. dict1 = {
    5. "name": "hello",
    6. "age": "20",
    7. "gender": "man"
    8. }
    9. re = parse.urlencode(dict1)
    10. print(re) # name=hello&age=20&gender=man
  • 2、parse_qsparse_qsl反序列化

     
    1. from urllib import parse
    2.  
    3. if __name__ == "__main__":
    4. dict1 = {
    5. "name": "hello",
    6. "age": "20",
    7. "gender": "man"
    8. }
    9. re = parse.urlencode(dict1)
    10. print(re)
    11. print(parse.parse_qs(re))

三、切割url的方法

  • 1、urlspliturlparse方法

     
    1. from urllib import request, parse
    2.  
    3. if __name__ == "__main__":
    4. url = 'http://www.baidu.com?name=hello&age=20'
    5. print(parse.urlsplit(url))
    6. print(parse.urlparse(url))
    7.  
    8. # 輸出
    9. # SplitResult(scheme='http', netloc='www.baidu.com', path='', query='name=hello&age=20', fragment='')
    10. # ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='name=hello&age=20', fragment='')