首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表的Python输出

问表的Python输出
EN

Stack Overflow用户
提问于 2022-02-03 11:11:52
回答 1查看 124关注 0票数 1

我正在从事一个名为“域列表”的项目,基本上是获取域名并尝试获取Org的详细信息。有一个名为lookup.icann.org的网页,我们可以获得信息,但这是一个人工过程,需要很长时间。我想通过python包实现自动化,我得到了结果,但是输出是JSON格式的。

查找有关从JSON到JSON输出创建数据from的帮助。

我的python代码如下

代码语言:javascript
复制
#pip install python-whois
#pip install pandas
import whois
import pandas as pd
import json
import ast


# test with Google domain name
data = "gmail.com"
w = whois.whois(data)

mystr = w

val = ast.literal_eval(mystr)
val1 = json.loads(json.dumps(val))
val2 = val1['domain_name'][0]['registrar'][0]
print (pd.DataFrame(val2, columns=["domain_name","registrar"]))
print(w)

产出如下

代码语言:javascript
复制
{
  "domain_name": [
    "GMAIL.COM",
    "gmail.com"
  ],
  "registrar": "MarkMonitor, Inc.",
  "whois_server": "whois.markmonitor.com",
  "referral_url": null,
  "updated_date": "2021-07-11 09:36:42",
  "creation_date": [
    "1995-08-13 04:00:00",
    "1995-08-13 07:00:00"
  ],
  "expiration_date": [
    "2022-08-12 04:00:00",
    "2022-08-11 07:00:00"
  ],
  "name_servers": [
    "NS1.GOOGLE.COM",
    "NS2.GOOGLE.COM",
    "NS3.GOOGLE.COM",
    "NS4.GOOGLE.COM",
    "ns3.google.com",
    "ns2.google.com",
    "ns1.google.com",
    "ns4.google.com"
  ],
  "status": [
    "clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited",
    "clientTransferProhibited https://icann.org/epp#clientTransferProhibited",
    "clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited",
    "serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited",
    "serverTransferProhibited https://icann.org/epp#serverTransferProhibited",
    "serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited",
    "clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)",
    "clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)",
    "clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)",
    "serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)",
    "serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)",
    "serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)"
  ],
  "emails": [
    "abusecomplaints@markmonitor.com",
    "whoisrequest@markmonitor.com"
  ],
  "dnssec": "unsigned",
  "name": null,
  "org": "Google LLC",
  "address": null,
  "city": null,
  "state": "CA",
  "zipcode": null,
  "country": "US"
}

所需的输出数据,因此我可以导出到excel/csv文件

代码语言:javascript
复制
domain_name|registrar|creation_date|expiration_date|name|org|address|city|zipcode|country
gmail.com|MarkMonitor, Inc|1995-08-13 07:00:00|2022-08-12 04:00:00|null|Google LLC|null|null|CA|null|USA

谢谢你的帮助

我已经修改了我的代码,现在我能够得到答案并尝试想要的答案,但是如何分割和创建一个dataframe?

代码语言:javascript
复制
import whois
import pandas as pd


data = "gmail.com"
w = whois.whois(data)

mystr = (w.domain_name,
         w.registrar,
         w.emails,
         w.name,
         w.org,
         w.address,
         w.city,
         w.zipcode,
         w.country)

print(mystr)

上述代码的输出

代码语言:javascript
复制
(['GMAIL.COM', 'gmail.com'], 'MarkMonitor, Inc.', ['abusecomplaints@markmonitor.com', 'whoisrequest@markmonitor.com'], None, 'Google LLC', None, None, None, 'US')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-05 18:43:05

你可以试试这个:

代码语言:javascript
复制
import pandas as pd
import whois


urls = ["gmail.com", "networksolutions.com", "enom.com"]  # Examples

data = {
    "domain_name": [],
    "registrar": [],
    "emails": [],
    "name": [],
    "org": [],
    "address": [],
    "city": [],
    "zipcode": [],
    "country": [],
}


for url in urls:
    w = whois.whois(url)
    for key in data.keys():
        data[key].append(w[key])

因此:

代码语言:javascript
复制
print(pd.DataFrame(data))

# Outputs
              domain_name               registrar  ...               zipcode country
0  [GMAIL.COM, gmail.com]       MarkMonitor, Inc.  ...                  None      US
1    NETWORKSOLUTIONS.COM  Network Solutions, LLC  ...            20171-6126      US
2    [ENOM.COM, enom.com]              ENOM, INC.  ...  REDACTED FOR PRIVACY      CA
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70970261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档