91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 如何使用python實現切割url得到域名、協議、主機名等各個字段的例子

如何使用python實現切割url得到域名、協議、主機名等各個字段的例子

發布時間:2021-04-06 13:00:06 來源:億速云 閱讀:588 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關如何使用python實現切割url得到域名、協議、主機名等各個字段的例子的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

實現代碼:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

功能: 對URL進行分割,基于urlparse, publicsuffix, urllib編寫
'''
from urlparse import urlparse
import codecs
from publicsuffix import PublicSuffixList
from urllib import splitport
import re
 
 
def domain_split(server_domain):
  '''
  server_domain為網站所用服務名+域名
  分割域名, 得到前綴(服務名)、主機域名、后綴(頂級域名)
    輸入www.baidu.com,輸出'www', 'baidu', 'com'
    輸入172.31.137.240,輸出'', '172.31.137.240', ''
  '''
  PSL_FILE = codecs.open('public_suffix_list.dat', encoding='utf8')
  psl = PublicSuffixList(PSL_FILE)
  domain = psl.get_public_suffix(server_domain)
  # 取域名的第一個字段,即第一個'.'之前的為主機域名, 后面為頂級域名,前面為所使用的服務
  if '.' in domain:
    server = server_domain[:-len(domain)]
    host = domain[:domain.index('.')]
    top = domain[domain.index('.'):]
    hostname = server + host + top
  else: # 說明提取域名失敗,例如172.31.137.240等IP形式,此時全部當作主機域名
    server = ''
    host = server_domain
    top = ''
    hostname = server_domain
  return server, host, top, hostname
 
 
def url_split_new(url):
  '''
  url分割
  '''
  if not url.startswith('http'): # 補全協議,否則urlparse出錯
    url = 'http://' + url
  parts = urlparse(url)
  # 服務+域名'www.baidu.api.com.cn'切分
  server, host, top, hostname = domain_split(parts.netloc)
  host, port = splitport(host)
  if port == None: port = ''
  return {'protocol': parts.scheme, 'hostname': hostname, 'path': parts.path}
 
 
if __name__ == '__main__':
  print url_split_new('http://www.baidu.com/')
  print url_split('http://www.baidu.com/')

感謝各位的閱讀!關于“如何使用python實現切割url得到域名、協議、主機名等各個字段的例子”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云龙县| 竹溪县| 玛纳斯县| 和静县| 莲花县| 新田县| 达孜县| 峨眉山市| 潮州市| 北票市| 石景山区| 乐山市| 南昌县| 海兴县| 海南省| 长岛县| 兴隆县| 水城县| 静海县| 蓬溪县| 通州区| 新乡县| 两当县| 凌源市| 额济纳旗| 铜陵市| 沁阳市| 竹溪县| 宣恩县| 资兴市| 英德市| 烟台市| 安达市| 高密市| 色达县| 广元市| 临城县| 定兴县| 宜宾市| 乐安县| 论坛|