mirror of
https://github.com/joepie91/python-whois.git
synced 2026-02-04 03:16:51 -06:00
Improve normalization for registrar names, and implement .com.tw (TWNIC) parsing. Fixes #22.
This commit is contained in:
parent
d5cd18aea1
commit
47e9c85a07
@ -89,6 +89,7 @@ grammar = {
|
||||
'Registration Service Provided By:\s?(?P<val>.+)',
|
||||
'Registrar of Record:\s?(?P<val>.+)',
|
||||
'Domain Registrar :\s?(?P<val>.+)',
|
||||
'Registration Service Provider: (?P<val>.+)',
|
||||
'\tName:\t\s(?P<val>.+)'],
|
||||
'whois_server': ['Whois Server:\s?(?P<val>.+)',
|
||||
'Registrar Whois:\s?(?P<val>.+)'],
|
||||
@ -273,6 +274,16 @@ def parse_raw_whois(raw_data, normalized=[], never_query_handles=True, handle_se
|
||||
data["nameservers"].append(match.strip())
|
||||
except KeyError as e:
|
||||
data["nameservers"] = [match.strip()]
|
||||
# ... and again for TWNIC.
|
||||
match = re.search(" Domain servers in listed order:\n([\s\S]*?\n)\n", segment)
|
||||
if match is not None:
|
||||
chunk = match.group(1)
|
||||
for match in re.findall(" (.+)\n", chunk):
|
||||
match = match.split()[0]
|
||||
try:
|
||||
data["nameservers"].append(match.strip())
|
||||
except KeyError as e:
|
||||
data["nameservers"] = [match.strip()]
|
||||
|
||||
|
||||
data["contacts"] = parse_registrants(raw_data, never_query_handles, handle_server)
|
||||
@ -345,11 +356,15 @@ def normalize_data(data, normalized):
|
||||
data[key] = [item.lower() for item in data[key]]
|
||||
|
||||
for key, threshold in (("registrar", 4), ("status", 3)):
|
||||
if key == "registrar":
|
||||
ignore_nic = True
|
||||
else:
|
||||
ignore_nic = False
|
||||
if key in data and data[key] is not None and (normalized == True or key in normalized):
|
||||
if is_string(data[key]):
|
||||
data[key] = normalize_name(data[key], abbreviation_threshold=threshold, length_threshold=1)
|
||||
data[key] = normalize_name(data[key], abbreviation_threshold=threshold, length_threshold=1, ignore_nic=ignore_nic)
|
||||
else:
|
||||
data[key] = [normalize_name(item, abbreviation_threshold=threshold, length_threshold=1) for item in data[key]]
|
||||
data[key] = [normalize_name(item, abbreviation_threshold=threshold, length_threshold=1, ignore_nic=ignore_nic) for item in data[key]]
|
||||
|
||||
for contact_type, contact in data['contacts'].items():
|
||||
if contact is not None:
|
||||
@ -375,43 +390,47 @@ def normalize_data(data, normalized):
|
||||
pass # Not a string
|
||||
return data
|
||||
|
||||
def normalize_name(value, abbreviation_threshold=4, length_threshold=8, lowercase_domains=True):
|
||||
def normalize_name(value, abbreviation_threshold=4, length_threshold=8, lowercase_domains=True, ignore_nic=False):
|
||||
normalized_lines = []
|
||||
for line in value.split("\n"):
|
||||
line = line.strip(",") # Get rid of useless comma's
|
||||
if (line.isupper() or line.islower()) and len(line) >= length_threshold:
|
||||
# This line is likely not capitalized properly
|
||||
words = line.split()
|
||||
normalized_words = []
|
||||
if len(words) >= 1:
|
||||
# First word
|
||||
if len(words[0]) >= abbreviation_threshold and "." not in words[0]:
|
||||
normalized_words.append(words[0].capitalize())
|
||||
elif lowercase_domains and "." in words[0] and not words[0].endswith(".") and not words[0].startswith("."):
|
||||
normalized_words.append(words[0].lower())
|
||||
else:
|
||||
# Probably an abbreviation or domain, leave it alone
|
||||
normalized_words.append(words[0])
|
||||
if len(words) >= 3:
|
||||
# Words between the first and last
|
||||
for word in words[1:-1]:
|
||||
if len(word) >= abbreviation_threshold and "." not in word:
|
||||
normalized_words.append(word.capitalize())
|
||||
elif lowercase_domains and "." in word and not word.endswith(".") and not word.startswith("."):
|
||||
normalized_words.append(word.lower())
|
||||
if ignore_nic == True and "nic" in line.lower():
|
||||
# This is a registrar name containing 'NIC' - it should probably be all-uppercase.
|
||||
line = line.upper()
|
||||
else:
|
||||
words = line.split()
|
||||
normalized_words = []
|
||||
if len(words) >= 1:
|
||||
# First word
|
||||
if len(words[0]) >= abbreviation_threshold and "." not in words[0]:
|
||||
normalized_words.append(words[0].capitalize())
|
||||
elif lowercase_domains and "." in words[0] and not words[0].endswith(".") and not words[0].startswith("."):
|
||||
normalized_words.append(words[0].lower())
|
||||
else:
|
||||
# Probably an abbreviation or domain, leave it alone
|
||||
normalized_words.append(word)
|
||||
if len(words) >= 2:
|
||||
# Last word
|
||||
if len(words[-1]) >= abbreviation_threshold and "." not in words[-1]:
|
||||
normalized_words.append(words[-1].capitalize())
|
||||
elif lowercase_domains and "." in words[-1] and not words[-1].endswith(".") and not words[-1].startswith("."):
|
||||
normalized_words.append(words[-1].lower())
|
||||
else:
|
||||
# Probably an abbreviation or domain, leave it alone
|
||||
normalized_words.append(words[-1])
|
||||
line = " ".join(normalized_words)
|
||||
normalized_words.append(words[0])
|
||||
if len(words) >= 3:
|
||||
# Words between the first and last
|
||||
for word in words[1:-1]:
|
||||
if len(word) >= abbreviation_threshold and "." not in word:
|
||||
normalized_words.append(word.capitalize())
|
||||
elif lowercase_domains and "." in word and not word.endswith(".") and not word.startswith("."):
|
||||
normalized_words.append(word.lower())
|
||||
else:
|
||||
# Probably an abbreviation or domain, leave it alone
|
||||
normalized_words.append(word)
|
||||
if len(words) >= 2:
|
||||
# Last word
|
||||
if len(words[-1]) >= abbreviation_threshold and "." not in words[-1]:
|
||||
normalized_words.append(words[-1].capitalize())
|
||||
elif lowercase_domains and "." in words[-1] and not words[-1].endswith(".") and not words[-1].startswith("."):
|
||||
normalized_words.append(words[-1].lower())
|
||||
else:
|
||||
# Probably an abbreviation or domain, leave it alone
|
||||
normalized_words.append(words[-1])
|
||||
line = " ".join(normalized_words)
|
||||
normalized_lines.append(line)
|
||||
return "\n".join(normalized_lines)
|
||||
|
||||
@ -562,6 +581,8 @@ def parse_registrants(data, never_query_handles=True, handle_server=""):
|
||||
"Domain Holder: (?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?, (?P<city>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 2
|
||||
"Domain Holder: (?P<organization>.+)\n(?P<street1>.+)\n(?:(?P<street2>.+)\n)?(?:(?P<street3>.+)\n)?.+?, (?P<district>.+)\n(?P<city>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 3
|
||||
"Domain Holder: (?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?\n(?P<city>.+),? (?P<state>[A-Z]{2,3})(?: [A-Z0-9]+)?\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 4
|
||||
" Registrant:\n (?P<organization>.+)\n (?P<name>.+) (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)\n (?P<street>.*)\n (?P<city>.+), (?P<state>[^,\n]*)\n (?P<country>.+)\n", # .com.tw (Western registrars)
|
||||
"Registrant:\n(?P<organization1>.+)\n(?P<organization2>.+)\n(?P<street1>.+?)(?:,+(?P<street2>.+?)(?:,+(?P<street3>.+?)(?:,+(?P<street4>.+?)(?:,+(?P<street5>.+?)(?:,+(?P<street6>.+?)(?:,+(?P<street7>.+?))?)?)?)?)?)?,(?P<city>.+),(?P<country>.+)\n\n Contact:\n (?P<name>.+) (?P<email>.+)\n TEL: (?P<phone>.+?)(?:(?:#|ext.?)(?P<phone_ext>.+))?\n FAX: (?P<fax>.+)(?:(?:#|ext.?)(?P<fax_ext>.+))?\n", # .com.tw (TWNIC/SEEDNET, Taiwanese companies only?)
|
||||
"Registrant Contact Information:\n\nCompany English Name \(It should be the same as the registered/corporation name on your Business Register Certificate or relevant documents\):(?P<organization1>.+)\nCompany Chinese name:(?P<organization2>.+)\nAddress: (?P<street>.+)\nCountry: (?P<country>.+)\nEmail: (?P<email>.+)\n", # HKDNR (.hk)
|
||||
"owner:\s+(?P<name>.+)", # .br
|
||||
"person:\s+(?P<name>.+)", # nic.ru (person)
|
||||
@ -598,6 +619,7 @@ def parse_registrants(data, never_query_handles=True, handle_server=""):
|
||||
"Tech Contact: (?P<handle>.+)\n(?P<street1>.+) (?P<city>[^\s]+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 4
|
||||
"Tech Contact: (?P<handle>.+)\n(?P<organization>.+)\n(?P<street1>.+)\n(?P<district>.+) (?P<city>[^\s]+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 5
|
||||
"Tech Contact: (?P<handle>.+)\n(?P<organization>.+)\n(?P<street1>.+)\n(?P<street2>.+)\n(?:(?P<street3>.+)\n)?(?P<city>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 6
|
||||
" Technical Contact:\n (?P<name>.+) (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)\n", # .com.tw (Western registrars)
|
||||
"Technical Contact Information:\n\n(?:Given name: (?P<firstname>.+)\n)?(?:Family name: (?P<lastname>.+)\n)?(?:Company name: (?P<organization>.+)\n)?Address: (?P<street>.+)\nCountry: (?P<country>.+)\nPhone: (?P<phone>.*)\nFax: (?P<fax>.*)\nEmail: (?P<email>.+)\n(?:Account Name: (?P<handle>.+)\n)?", # HKDNR (.hk)
|
||||
]
|
||||
|
||||
@ -622,6 +644,7 @@ def parse_registrants(data, never_query_handles=True, handle_server=""):
|
||||
" Administrative contact:\n (?P<name>.+)\n (?P<organization>.*)\n (?P<street>.+)\n (?P<city>.+) (?P<state>\S+),[ ]+(?P<postalcode>.+)\n (?P<country>.+)\n (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)", # .am
|
||||
"Administrative Contact:\n Name: (?P<name>.+)\n City: (?P<city>.+)\n State: (?P<state>.+)\n Country: (?P<country>.+)\n", # Akky (.com.mx)
|
||||
"\[Tech-C\]\nType: (?P<type>.+)\nName: (?P<name>.+)\n(Organisation: (?P<organization>.+)\n){0,1}(Address: (?P<street1>.+)\n){1}(Address: (?P<street2>.+)\n){0,1}(Address: (?P<street3>.+)\n){0,1}(Address: (?P<street4>.+)\n){0,1}PostalCode: (?P<postalcode>.+)\nCity: (?P<city>.+)\nCountryCode: (?P<country>[A-Za-z]{2})\nPhone: (?P<phone>.+)\nFax: (?P<fax>.+)\nEmail: (?P<email>.+)\n(Remarks: (?P<remark>.+)\n){0,1}Changed: (?P<changed>.+)", # DeNIC
|
||||
" Administrative Contact:\n (?P<name>.+) (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)\n", # .com.tw (Western registrars)
|
||||
"Administrative Contact Information:\n\n(?:Given name: (?P<firstname>.+)\n)?(?:Family name: (?P<lastname>.+)\n)?(?:Company name: (?P<organization>.+)\n)?Address: (?P<street>.+)\nCountry: (?P<country>.+)\nPhone: (?P<phone>.*)\nFax: (?P<fax>.*)\nEmail: (?P<email>.+)\n(?:Account Name: (?P<handle>.+)\n)?", # HKDNR (.hk)
|
||||
]
|
||||
|
||||
@ -799,6 +822,13 @@ def parse_registrants(data, never_query_handles=True, handle_server=""):
|
||||
if 'lastname' in obj:
|
||||
elements.append(obj["lastname"])
|
||||
obj["name"] = " ".join(elements)
|
||||
if 'country' in obj and 'city' in obj and (re.match("^R\.?O\.?C\.?$", obj["country"], re.IGNORECASE) or obj["country"].lower() == "republic of china") and obj["city"].lower() == "taiwan":
|
||||
# There's an edge case where some registrants append ", Republic of China" after "Taiwan", and this is mis-parsed
|
||||
# as Taiwan being the city. This is meant to correct that.
|
||||
obj["country"] = "%s, %s" % (obj["city"], obj["country"])
|
||||
lines = [x.strip() for x in obj["street"].splitlines()]
|
||||
obj["city"] = lines[-1]
|
||||
obj["street"] = "\n".join(lines[:-1])
|
||||
|
||||
return {
|
||||
"registrant": registrant,
|
||||
|
||||
21
test/data/davicom.com.tw
Normal file
21
test/data/davicom.com.tw
Normal file
@ -0,0 +1,21 @@
|
||||
Domain Name: davicom.com.tw
|
||||
Registrant:
|
||||
聯傑國際股份有限公司
|
||||
Davicom Semiconductor, Inc.
|
||||
No. 6 Li-Hsin Rd. VI, Science-Based Park, Hsin-Chu, Taiwan, R.O.C.
|
||||
|
||||
Contact:
|
||||
Alan Ma alan_ma@davicom.com.tw
|
||||
TEL: (03)5798797 #8566
|
||||
FAX: (03)5646929
|
||||
|
||||
Record expires on 2017-05-31 (YYYY-MM-DD)
|
||||
Record created on 1997-05-01 (YYYY-MM-DD)
|
||||
|
||||
Domain servers in listed order:
|
||||
davicom.com.tw 60.250.193.73
|
||||
davicom.com.tw 202.39.11.22
|
||||
|
||||
Registration Service Provider: TWNIC
|
||||
|
||||
|
||||
33
test/data/google.com.tw
Normal file
33
test/data/google.com.tw
Normal file
@ -0,0 +1,33 @@
|
||||
Domain Name: google.com.tw
|
||||
Registrant:
|
||||
Google Inc.
|
||||
DNS Admin dns-admin@google.com
|
||||
+1.6502530000
|
||||
+1.6506188571
|
||||
1600 Amphitheatre Parkway
|
||||
Mountain View, CA
|
||||
US
|
||||
|
||||
Administrative Contact:
|
||||
DNS Admin dns-admin@google.com
|
||||
+1.6502530000
|
||||
+1.6506188571
|
||||
|
||||
Technical Contact:
|
||||
DNS Admin dns-admin@google.com
|
||||
+1.6502530000
|
||||
+1.6506188571
|
||||
|
||||
Record expires on 2014-11-09 (YYYY-MM-DD)
|
||||
Record created on 2000-08-29 (YYYY-MM-DD)
|
||||
|
||||
Domain servers in listed order:
|
||||
ns1.google.com
|
||||
ns2.google.com
|
||||
ns3.google.com
|
||||
ns4.google.com
|
||||
|
||||
Registration Service Provider: Markmonitor, Inc.
|
||||
|
||||
[Provided by NeuStar Registry Gateway Services]
|
||||
|
||||
21
test/data/pcmups.com.tw
Normal file
21
test/data/pcmups.com.tw
Normal file
@ -0,0 +1,21 @@
|
||||
Domain Name: pcmups.com.tw
|
||||
Registrant:
|
||||
科風股份有限公司
|
||||
Powercom Co., Ltd.
|
||||
8F, No. 246, Lien Chen Road, Chung Ho City, Taipei Hsien, Taiwan ROC
|
||||
|
||||
Contact:
|
||||
Amos Yu market@upspowercom.com.tw
|
||||
TEL: 02-22258552#313
|
||||
FAX: 02-22251776
|
||||
|
||||
Record expires on 2014-08-29 (YYYY-MM-DD)
|
||||
Record created on 2001-08-28 (YYYY-MM-DD)
|
||||
|
||||
Domain servers in listed order:
|
||||
ns.hinetserver.com 61.63.79.1
|
||||
ns2.hinetserver.com 61.56.221.35
|
||||
|
||||
Registration Service Provider: SEEDNET
|
||||
|
||||
|
||||
31
test/data/porn.com.tw
Normal file
31
test/data/porn.com.tw
Normal file
@ -0,0 +1,31 @@
|
||||
Domain Name: porn.com.tw
|
||||
Registrant:
|
||||
JW
|
||||
Jeffrey Williams faiwot@wag1.com
|
||||
+44.1502566183
|
||||
|
||||
95 Wavenet Crescent
|
||||
Lowestoft,
|
||||
GB
|
||||
|
||||
Administrative Contact:
|
||||
Jeffrey Williams faiwot@wag1.com
|
||||
+44.1502566183
|
||||
|
||||
|
||||
Technical Contact:
|
||||
Jeffrey Williams faiwot@wag1.com
|
||||
+44.1502566183
|
||||
|
||||
|
||||
Record expires on 2015-02-24 (YYYY-MM-DD)
|
||||
Record created on 2006-02-24 (YYYY-MM-DD)
|
||||
|
||||
Domain servers in listed order:
|
||||
ns1.parkingcrew.net
|
||||
ns2.parkingcrew.net
|
||||
|
||||
Registration Service Provider: Key-Systems GmbH
|
||||
|
||||
[Provided by NeuStar Registry Gateway Services]
|
||||
|
||||
21
test/data/realtek.com.tw
Normal file
21
test/data/realtek.com.tw
Normal file
@ -0,0 +1,21 @@
|
||||
Domain Name: realtek.com.tw
|
||||
Registrant:
|
||||
瑞昱半導體股份有限公司
|
||||
Realtek Semoconductor Co., Ltd
|
||||
No.2, Innovation Road II, Hsinchu,Science Park,Hsinchu , Taiwan
|
||||
|
||||
Contact:
|
||||
Mengze Du justindo@realtek.com
|
||||
TEL: (03) 5780211 ext3079
|
||||
FAX: (03) 5774713
|
||||
|
||||
Record expires on 2018-05-31 (YYYY-MM-DD)
|
||||
Record created on 1997-05-01 (YYYY-MM-DD)
|
||||
|
||||
Domain servers in listed order:
|
||||
ns1.realtek.com.tw 60.250.210.254
|
||||
ns2.realtek.com.tw 60.248.182.29
|
||||
|
||||
Registration Service Provider: TWNIC
|
||||
|
||||
|
||||
22
test/data/via.com.tw
Normal file
22
test/data/via.com.tw
Normal file
@ -0,0 +1,22 @@
|
||||
Domain Name: via.com.tw
|
||||
Registrant:
|
||||
威盛電子股份有限公司
|
||||
VIA Technologies, Inc.
|
||||
8F, 535, Chung-Cheng Rd. Hsin-Tien
|
||||
|
||||
Contact:
|
||||
Ben Chen BenChen@via.com.tw
|
||||
TEL: 2-22185452#6557
|
||||
FAX: 2-22188924
|
||||
|
||||
Record expires on 2024-05-31 (YYYY-MM-DD)
|
||||
Record created on 1985-05-20 (YYYY-MM-DD)
|
||||
|
||||
Domain servers in listed order:
|
||||
tpns1.viatech.com.tw 61.66.243.23
|
||||
frns1.viatech.com.tw 12.47.63.7
|
||||
bjns1.viatech.com.tw 152.104.150.2
|
||||
|
||||
Registration Service Provider: TWNIC
|
||||
|
||||
|
||||
34
test/data/yahoo.com.tw
Normal file
34
test/data/yahoo.com.tw
Normal file
@ -0,0 +1,34 @@
|
||||
Domain Name: yahoo.com.tw
|
||||
Registrant:
|
||||
Yahoo! Inc.
|
||||
Domain Administrator domainadmin@yahoo-inc.com
|
||||
+1.4083493300
|
||||
+1.4083493301
|
||||
701 First Avenue
|
||||
Sunnyvale, CA
|
||||
US
|
||||
|
||||
Administrative Contact:
|
||||
Domain Administrator domainadmin@yahoo-inc.com
|
||||
+1.4083493300
|
||||
+1.4083493301
|
||||
|
||||
Technical Contact:
|
||||
Domain Administrator domainadmin@yahoo-inc.com
|
||||
+1.4083493300
|
||||
+1.4083493301
|
||||
|
||||
Record expires on 2019-07-12 (YYYY-MM-DD)
|
||||
Record created on 1997-05-01 (YYYY-MM-DD)
|
||||
|
||||
Domain servers in listed order:
|
||||
ns1.yahoo.com
|
||||
ns2.yahoo.com
|
||||
ns3.yahoo.com
|
||||
ns4.yahoo.com
|
||||
ns5.yahoo.com
|
||||
|
||||
Registration Service Provider: Markmonitor, Inc.
|
||||
|
||||
[Provided by NeuStar Registry Gateway Services]
|
||||
|
||||
1
test/target_default/davicom.com.tw
Normal file
1
test/target_default/davicom.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsin-Chu", "fax": "(03)5646929", "name": "Alan Ma", "phone": "(03)5798797 ext. 8566", "street": "No. 6 Li-Hsin Rd. VI\nScience-Based Park", "organization": "\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.", "country": "Taiwan, R.O.C.", "email": "alan_ma@davicom.com.tw"}, "billing": null}, "nameservers": ["davicom.com.tw"], "expiration_date": ["2017-05-31T00:00:00", "2017-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: davicom.com.tw\nRegistrant:\n\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.\nNo. 6 Li-Hsin Rd. VI, Science-Based Park, Hsin-Chu, Taiwan, R.O.C.\n\n Contact:\n Alan Ma alan_ma@davicom.com.tw\n TEL: (03)5798797 #8566\n FAX: (03)5646929\n\n Record expires on 2017-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n davicom.com.tw 60.250.193.73 \n davicom.com.tw 202.39.11.22 \n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}
|
||||
1
test/target_default/google.com.tw
Normal file
1
test/target_default/google.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "tech": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "registrant": {"city": "Mountain View", "fax": "+1.6506188571", "name": "DNS Admin", "country": "US", "phone": "+1.6502530000", "state": "CA", "street": "1600 Amphitheatre Parkway", "organization": "Google Inc.", "email": "dns-admin@google.com"}, "billing": null}, "nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"], "expiration_date": ["2014-11-09T00:00:00", "2014-11-09T00:00:00"], "creation_date": ["2000-08-29T00:00:00", "2000-08-29T00:00:00"], "raw": ["Domain Name: google.com.tw\n Registrant:\n Google Inc.\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n 1600 Amphitheatre Parkway \n Mountain View, CA\n US\n\n Administrative Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Technical Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Record expires on 2014-11-09 (YYYY-MM-DD)\n Record created on 2000-08-29 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.google.com \n ns2.google.com \n ns3.google.com \n ns4.google.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}
|
||||
1
test/target_default/pcmups.com.tw
Normal file
1
test/target_default/pcmups.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Taipei Hsien", "fax": "02-22251776", "name": "Amos Yu", "phone": "02-22258552 ext. 313", "street": "8F\nNo. 246\nLien Chen Road\nChung Ho City", "organization": "\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.", "country": "Taiwan ROC", "email": "market@upspowercom.com.tw"}, "billing": null}, "nameservers": ["ns.hinetserver.com", "ns2.hinetserver.com"], "expiration_date": ["2014-08-29T00:00:00", "2014-08-29T00:00:00"], "creation_date": ["2001-08-28T00:00:00", "2001-08-28T00:00:00"], "raw": ["Domain Name: pcmups.com.tw\nRegistrant:\n\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.\n8F, No. 246, Lien Chen Road, Chung Ho City, Taipei Hsien, Taiwan ROC\n\n Contact:\n Amos Yu market@upspowercom.com.tw\n TEL: 02-22258552#313\n FAX: 02-22251776\n\n Record expires on 2014-08-29 (YYYY-MM-DD)\n Record created on 2001-08-28 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns.hinetserver.com 61.63.79.1\n ns2.hinetserver.com 61.56.221.35\n\nRegistration Service Provider: SEEDNET\n\n\n"], "registrar": ["SEEDNET"]}
|
||||
1
test/target_default/porn.com.tw
Normal file
1
test/target_default/porn.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "tech": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "registrant": {"city": "Lowestoft", "name": "Jeffrey Williams", "country": "GB", "phone": "+44.1502566183", "street": "95 Wavenet Crescent", "organization": "JW", "email": "faiwot@wag1.com"}, "billing": null}, "nameservers": ["ns1.parkingcrew.net", "ns2.parkingcrew.net"], "expiration_date": ["2015-02-24T00:00:00", "2015-02-24T00:00:00"], "creation_date": ["2006-02-24T00:00:00", "2006-02-24T00:00:00"], "raw": ["Domain Name: porn.com.tw\n Registrant:\n JW\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n 95 Wavenet Crescent \n Lowestoft, \n GB\n\n Administrative Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Technical Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Record expires on 2015-02-24 (YYYY-MM-DD)\n Record created on 2006-02-24 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.parkingcrew.net \n ns2.parkingcrew.net \n\nRegistration Service Provider: Key-Systems GmbH\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Key-Systems GmbH"]}
|
||||
1
test/target_default/realtek.com.tw
Normal file
1
test/target_default/realtek.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsinchu", "fax": "(03) 5774713", "name": "Mengze Du", "phone": "(03) 5780211 ext. 079", "street": "No.2\nInnovation Road II\nHsinchu\nScience Park", "organization": "\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd", "country": "Taiwan", "email": "justindo@realtek.com"}, "billing": null}, "nameservers": ["ns1.realtek.com.tw", "ns2.realtek.com.tw"], "expiration_date": ["2018-05-31T00:00:00", "2018-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: realtek.com.tw\nRegistrant:\n\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd\nNo.2, Innovation Road II, Hsinchu,Science Park,Hsinchu , Taiwan\n\n Contact:\n Mengze Du justindo@realtek.com\n TEL: (03) 5780211 ext3079\n FAX: (03) 5774713\n\n Record expires on 2018-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.realtek.com.tw 60.250.210.254\n ns2.realtek.com.tw 60.248.182.29\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}
|
||||
1
test/target_default/via.com.tw
Normal file
1
test/target_default/via.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "535", "fax": "2-22188924", "name": "Ben Chen", "phone": "2-22185452 ext. 6557", "street": "8F", "organization": "\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.", "country": "Chung-Cheng Rd. Hsin-Tien", "email": "BenChen@via.com.tw"}, "billing": null}, "nameservers": ["tpns1.viatech.com.tw", "frns1.viatech.com.tw", "bjns1.viatech.com.tw"], "expiration_date": ["2024-05-31T00:00:00", "2024-05-31T00:00:00"], "creation_date": ["1985-05-20T00:00:00", "1985-05-20T00:00:00"], "raw": ["Domain Name: via.com.tw\nRegistrant:\n\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.\n8F, 535, Chung-Cheng Rd. Hsin-Tien\n\n Contact:\n Ben Chen BenChen@via.com.tw\n TEL: 2-22185452#6557\n FAX: 2-22188924\n\n Record expires on 2024-05-31 (YYYY-MM-DD)\n Record created on 1985-05-20 (YYYY-MM-DD)\n\n Domain servers in listed order:\n tpns1.viatech.com.tw 61.66.243.23\n frns1.viatech.com.tw 12.47.63.7\n bjns1.viatech.com.tw 152.104.150.2\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}
|
||||
1
test/target_default/yahoo.com.tw
Normal file
1
test/target_default/yahoo.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "tech": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "registrant": {"city": "Sunnyvale", "fax": "+1.4083493301", "name": "Domain Administrator", "country": "US", "phone": "+1.4083493300", "state": "CA", "street": "701 First Avenue", "organization": "Yahoo! Inc.", "email": "domainadmin@yahoo-inc.com"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com", "ns4.yahoo.com", "ns5.yahoo.com"], "expiration_date": ["2019-07-12T00:00:00", "2019-07-12T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: yahoo.com.tw\n Registrant:\n Yahoo! Inc.\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n 701 First Avenue \n Sunnyvale, CA\n US\n\n Administrative Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Technical Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Record expires on 2019-07-12 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.yahoo.com \n ns2.yahoo.com \n ns3.yahoo.com \n ns4.yahoo.com \n ns5.yahoo.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}
|
||||
1
test/target_normalized/davicom.com.tw
Normal file
1
test/target_normalized/davicom.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsin-Chu", "fax": "(03)5646929", "name": "Alan Ma", "phone": "(03)5798797 ext. 8566", "street": "No. 6 Li-Hsin Rd. VI\nScience-Based Park", "organization": "\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.", "country": "Taiwan, R.O.C.", "email": "alan_ma@davicom.com.tw"}, "billing": null}, "nameservers": ["davicom.com.tw"], "expiration_date": ["2017-05-31T00:00:00", "2017-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: davicom.com.tw\nRegistrant:\n\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.\nNo. 6 Li-Hsin Rd. VI, Science-Based Park, Hsin-Chu, Taiwan, R.O.C.\n\n Contact:\n Alan Ma alan_ma@davicom.com.tw\n TEL: (03)5798797 #8566\n FAX: (03)5646929\n\n Record expires on 2017-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n davicom.com.tw 60.250.193.73 \n davicom.com.tw 202.39.11.22 \n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}
|
||||
1
test/target_normalized/google.com.tw
Normal file
1
test/target_normalized/google.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "tech": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "registrant": {"city": "Mountain View", "fax": "+1.6506188571", "name": "DNS Admin", "country": "US", "phone": "+1.6502530000", "state": "CA", "street": "1600 Amphitheatre Parkway", "organization": "Google Inc.", "email": "dns-admin@google.com"}, "billing": null}, "nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"], "expiration_date": ["2014-11-09T00:00:00", "2014-11-09T00:00:00"], "creation_date": ["2000-08-29T00:00:00", "2000-08-29T00:00:00"], "raw": ["Domain Name: google.com.tw\n Registrant:\n Google Inc.\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n 1600 Amphitheatre Parkway \n Mountain View, CA\n US\n\n Administrative Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Technical Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Record expires on 2014-11-09 (YYYY-MM-DD)\n Record created on 2000-08-29 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.google.com \n ns2.google.com \n ns3.google.com \n ns4.google.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}
|
||||
1
test/target_normalized/pcmups.com.tw
Normal file
1
test/target_normalized/pcmups.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Taipei Hsien", "fax": "02-22251776", "name": "Amos Yu", "phone": "02-22258552 ext. 313", "street": "8F\nNo. 246\nLien Chen Road\nChung Ho City", "organization": "\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.", "country": "Taiwan ROC", "email": "market@upspowercom.com.tw"}, "billing": null}, "nameservers": ["ns.hinetserver.com", "ns2.hinetserver.com"], "expiration_date": ["2014-08-29T00:00:00", "2014-08-29T00:00:00"], "creation_date": ["2001-08-28T00:00:00", "2001-08-28T00:00:00"], "raw": ["Domain Name: pcmups.com.tw\nRegistrant:\n\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.\n8F, No. 246, Lien Chen Road, Chung Ho City, Taipei Hsien, Taiwan ROC\n\n Contact:\n Amos Yu market@upspowercom.com.tw\n TEL: 02-22258552#313\n FAX: 02-22251776\n\n Record expires on 2014-08-29 (YYYY-MM-DD)\n Record created on 2001-08-28 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns.hinetserver.com 61.63.79.1\n ns2.hinetserver.com 61.56.221.35\n\nRegistration Service Provider: SEEDNET\n\n\n"], "registrar": ["Seednet"]}
|
||||
1
test/target_normalized/porn.com.tw
Normal file
1
test/target_normalized/porn.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "tech": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "registrant": {"city": "Lowestoft", "name": "Jeffrey Williams", "country": "GB", "phone": "+44.1502566183", "street": "95 Wavenet Crescent", "organization": "JW", "email": "faiwot@wag1.com"}, "billing": null}, "nameservers": ["ns1.parkingcrew.net", "ns2.parkingcrew.net"], "expiration_date": ["2015-02-24T00:00:00", "2015-02-24T00:00:00"], "creation_date": ["2006-02-24T00:00:00", "2006-02-24T00:00:00"], "raw": ["Domain Name: porn.com.tw\n Registrant:\n JW\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n 95 Wavenet Crescent \n Lowestoft, \n GB\n\n Administrative Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Technical Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Record expires on 2015-02-24 (YYYY-MM-DD)\n Record created on 2006-02-24 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.parkingcrew.net \n ns2.parkingcrew.net \n\nRegistration Service Provider: Key-Systems GmbH\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Key-Systems GmbH"]}
|
||||
1
test/target_normalized/realtek.com.tw
Normal file
1
test/target_normalized/realtek.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsinchu", "fax": "(03) 5774713", "name": "Mengze Du", "phone": "(03) 5780211 ext. 079", "street": "No.2\nInnovation Road II\nHsinchu\nScience Park", "organization": "\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd", "country": "Taiwan", "email": "justindo@realtek.com"}, "billing": null}, "nameservers": ["ns1.realtek.com.tw", "ns2.realtek.com.tw"], "expiration_date": ["2018-05-31T00:00:00", "2018-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: realtek.com.tw\nRegistrant:\n\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd\nNo.2, Innovation Road II, Hsinchu,Science Park,Hsinchu , Taiwan\n\n Contact:\n Mengze Du justindo@realtek.com\n TEL: (03) 5780211 ext3079\n FAX: (03) 5774713\n\n Record expires on 2018-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.realtek.com.tw 60.250.210.254\n ns2.realtek.com.tw 60.248.182.29\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}
|
||||
1
test/target_normalized/via.com.tw
Normal file
1
test/target_normalized/via.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "535", "fax": "2-22188924", "name": "Ben Chen", "phone": "2-22185452 ext. 6557", "street": "8F", "organization": "\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.", "country": "Chung-Cheng Rd. Hsin-Tien", "email": "benchen@via.com.tw"}, "billing": null}, "nameservers": ["tpns1.viatech.com.tw", "frns1.viatech.com.tw", "bjns1.viatech.com.tw"], "expiration_date": ["2024-05-31T00:00:00", "2024-05-31T00:00:00"], "creation_date": ["1985-05-20T00:00:00", "1985-05-20T00:00:00"], "raw": ["Domain Name: via.com.tw\nRegistrant:\n\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.\n8F, 535, Chung-Cheng Rd. Hsin-Tien\n\n Contact:\n Ben Chen BenChen@via.com.tw\n TEL: 2-22185452#6557\n FAX: 2-22188924\n\n Record expires on 2024-05-31 (YYYY-MM-DD)\n Record created on 1985-05-20 (YYYY-MM-DD)\n\n Domain servers in listed order:\n tpns1.viatech.com.tw 61.66.243.23\n frns1.viatech.com.tw 12.47.63.7\n bjns1.viatech.com.tw 152.104.150.2\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}
|
||||
1
test/target_normalized/yahoo.com.tw
Normal file
1
test/target_normalized/yahoo.com.tw
Normal file
@ -0,0 +1 @@
|
||||
{"contacts": {"admin": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "tech": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "registrant": {"city": "Sunnyvale", "fax": "+1.4083493301", "name": "Domain Administrator", "country": "US", "phone": "+1.4083493300", "state": "CA", "street": "701 First Avenue", "organization": "Yahoo! Inc.", "email": "domainadmin@yahoo-inc.com"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com", "ns4.yahoo.com", "ns5.yahoo.com"], "expiration_date": ["2019-07-12T00:00:00", "2019-07-12T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: yahoo.com.tw\n Registrant:\n Yahoo! Inc.\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n 701 First Avenue \n Sunnyvale, CA\n US\n\n Administrative Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Technical Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Record expires on 2019-07-12 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.yahoo.com \n ns2.yahoo.com \n ns3.yahoo.com \n ns4.yahoo.com \n ns5.yahoo.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}
|
||||
Loading…
x
Reference in New Issue
Block a user