只是预警,我的python技能几乎不存在,但我正在努力学习.
我在周末通过我们的DNS控制面板做了一些更改到大约58个CNAMES(只是更改目的地)
而不是检查每个单独记录的变化是否已经存在,我想知道是否有办法在python中编写每个CNAME的挖掘列表?
我使用的dig命令就是这样的
dig @ns1.netnames.net www.rac.co.uk CNAME
Run Code Online (Sandbox Code Playgroud)
我希望看到rac-secure.gslb2.rac.co.uk
回来.
我尝试过类似的东西:
import os
os.system( 'dig<exampledomain.com>'CNAME )
Run Code Online (Sandbox Code Playgroud)
但这似乎没有用(因为我提到我的python技能缺乏),我是在正确的道路上,还是我应该使用像dnspython这样的东西?之前我已经使用了dnspython模块(很多)来自堆栈溢出社区的帮助,但我发现文档确实令人困惑.
任何指向正确方向的人都会非常感激.
问候
克里斯.
我需要创建一个工具来检查域实时mx记录与预期的内容(我们的一些工作人员摆弄它们并导致所有传入的邮件重定向到虚空)
现在我不会撒谎,我一点也不是一个称职的程序员!我大约40页进入"潜入python",可以阅读和理解最基本的代码.但我愿意学习,而不仅仅是给予答案.
那么任何人都可以建议我应该使用哪种语言?
我正在考虑使用python,并开始使用0s.system()来做一个(挖掘+ nocmd domain.com mx + noall +回答)来提取记录,然后我对如何使用将其与现有记录集进行比较.
对不起,如果这听起来像胡说八道!
谢谢克里斯
我有一个小脚本,检查大量的域列表中的MX记录,一切正常,但是当脚本找到没有记录的域时,跳转到下一个域需要很长时间.
我试过添加:
query.lifetime = 1.0
or
query.timeout = 1.0
Run Code Online (Sandbox Code Playgroud)
但这似乎没有做任何事情.有谁知道如何配置此设置?
我的脚本在下面,谢谢你的时间.
import dns.resolver
from dns.exception import DNSException
import dns.query
import csv
domains = csv.reader(open('domains.csv', 'rU'))
output = open('output.txt', 'w')
for row in domains:
try:
domain = row[0]
query = dns.resolver.query(domain,'MX')
query.lifetime = 1.0
except DNSException:
print "nothing here"
for rdata in query:
print domain, " ", rdata.exchange, 'has preference', rdata.preference
output.writelines(domain)
output.writelines(",")
output.writelines(rdata.exchange.to_text())
output.writelines("\n")
Run Code Online (Sandbox Code Playgroud) 我有一个很大的域名列表(大约六千个),我希望看到哪些词对于我们的投资组合的粗略概述是最高的.
我遇到的问题是列表被格式化为域名,例如:
examplecartrading.com
examplepensions.co.uk
exampledeals.org
examplesummeroffers.com
5996
只运行字数会带来垃圾.所以我想最简单的方法是在整个单词之间插入空格然后运行单词计数.
为了我的理智,我宁愿编写这个.
我知道(非常)小python 2.7但是我对接近这个的任何建议持开放态度,代码的例子真的会有所帮助.我被告知使用简单的字符串trie数据结构将是实现此目的的最简单方法,但我不知道如何在python中实现它.
我正在尝试将两个excel文档相互比较,它们由大约6000行和4列组成,第一列是域名,另外三列是注释,其中一个文档已更新注释中的一些列,最后我希望这个脚本的功能就像批量更新新的注释,取代旧的过时的.
到目前为止我编写的代码打开文档并将它们添加到两个单独的列表中:
import csv
newlist = csv.reader(open('newcomments.csv','rU'), dialect='excel')
export = csv.reader(open('oldcomments.csv', 'rU'), dialect='excel')
for row in newlist:
olddomain=[]
domain = row[0:]
olddomain.append(domain)
for item in olddomain:
print item
for row in export:
newdomain=[]
domain= row[0:]
newdomain.append(domain)
for item in newdomain:
print item
Run Code Online (Sandbox Code Playgroud)
列表的输出看起来像(第二列通常是空白的):
['example.com', '', 'excomment', 'Parked Page']
Run Code Online (Sandbox Code Playgroud)
在尝试比较列表时,我尝试过类似的方法:
if item in olddomain != item in newdomain:
print "no match"
else:
print "match"
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用,例如,两个文件中的第一行包含完全相同的数据,但代码返回"不匹配",两个文件中的第二行也包含相同的数据,但代码返回"比赛"
问题是我将行保存到列表中的方式,还是我还缺少其他东西?我将假设有一种更好的方法可以做到这一点,但我用它作为学习更多python的借口!
谢谢你的时间.