【问题标题】:Get whois information using wget [closed]使用 wget 获取 whois 信息 [关闭]
【发布时间】:2023-03-31 14:58:01
【问题描述】:

我通过 wget 以下地址获取了一堆 URL 的 whois 信息

wget -qO- https://www.whois.com/whois/SampleDomain

在第一阶段我不想为每个 URL 创建一个文件,所以我使用 -qO- 选项。

我想提取每个域的 10 个字段(例如,创建日期、注册人名称)

我的问题是:如何制作一个 csv 文件,其中每一行定义域并且每一列都有 whois 信息的值?

【问题讨论】:

  • 我会认真地为此推荐一种更高级的语言,例如 PHP 或 Perl。

标签: linux bash wget whois


【解决方案1】:

使用 xmlstarlet、GNU grep 和 GNU paste。第一步:

wget -qO - https://www.whois.com/whois/stackoverflow.com |\
  xmlstarlet format --html --recover 2>/dev/null |\
  xmlstarlet select --template --value-of '//pre' |\
  grep -Po '^(Creation Date|Registrant Name): \K.*(?= )' |\
  paste -d , - -

输出:

2003-12-26T19:18:07Z,系统管理员团队

【讨论】:

  • 感谢您的回答。如何将结果如下输出到文件? 2003-12-26T19:18:07Z,系统管理员团队
  • 我已经更新了我的答案。
  • 再次感谢您的更新。对于像 => Registrant Name|Registrant Organization|Registrant City|Registrant Country|Registrar IANA ID|Creation Date|Updated Date|Registry Expiry Date 和以下地址 (whois.com/whois/academicreviews.us) 等多字段,它不会打印相应的结果!
  • 这里,行不以空白字符结尾,而是以分号结尾。将(?= ) 替换为(?=( |;))。与paste 一起使用,每列一个-
猜你喜欢
  • 2013-03-10
  • 2010-10-14
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-05
  • 1970-01-01
  • 2019-05-09
相关资源
最近更新 更多