# 日拱一卒:如何使用ChatGPT测试域名是否注册过? **Published by:** [日拱一卒王小楼](https://paragraph.com/@maskpad/) **Published on:** 2023-05-29 **URL:** https://paragraph.com/@maskpad/chatgpt-5 ## Content 我之前以为大家都知道ChatGPT怎么注册或者new bing怎么注册,现在发现你以为的并不是你以为的。看看这篇之后的反馈,决定要不要把注册攻略写一下。 今天这篇文章,技术性有点略强,先发出来试试,看下大家对这类文章的感兴趣程度。 昨晚有朋友说BTC域名不错,也不贵,就准备抢几个,抢域名最大的问题是啥呢?第一,要抢好的第二,要抢的到好的要懂一点编程要会使用Python由于目前只开放了4位数字的,所以原则也很简单,大概这样,如果错了,欢迎留言纠正我:aaaa > aaab or abbb > aabb or abba or acbb or bbac or 顺序连在一起的比如1234、2345 按照国人的习惯,特别喜欢带88和66的,如果是4个8或者带3个8的,则更开心了。 那问题来了,我难道要手动去找?别慌,我们最近最火的是啥?ChatGPT啊,它可是你最贴心的小伙伴。 最大的集合,就是所有的四位数字 你可以问ChatGPT:Python生成所有四位数字组合 然后代码来了:for i in range(1, 10): for j in range(10): for k in range(10): for l in range(10): combination = f"{i}{j}{k}{l}" print(combination) 但是这个会把0000—9999都打印出来,太多了。我们可以先试试AAAB这种 你只要问ChatGPT:Python生成所有AAAB四位数字组合,它就会很快的把代码给你。for a in range(10): for b in range(10): for c in range(1, 10): if a == b != c: print(f"{a}{a}{a}{c}") 这些都准备好之后,下一步就是和网址拼接,看有没有可用的域名了,下面的代码也可以问ChatGPT,确实太方便了。base_url = 'https://app.bns.org/search/' with open('numbers.txt', 'w') as f: for i in range(1000, 10000): f.write(str(i) + '\n') print(base_url + str(i)) 再下一步,就是看那些可以注册了,我们以这个网址为例:https://app.bns.org/search/2888我一开始的想法是看有没有“Remind Me”或者“Extend”,如果有,说明就被注册了。然后ChatGPT的缺陷被我问出来了。 它给我推荐Selenium的find_element_by_xpath,我用了说没这个方法,搞了好久,发现最新的方法是find_element。推荐的那个方法被官方给去掉了。 但是最严重的问题不是这个,是我用Pycharm打开的网页根本就加载不完页面,林老师告诉我这个原因,网页是用 react 技术,先把页面加载出来后,主体的内容用 JavaScript 来充填,这是为什么你用程序抓不到它的主体内容的原因。 后来它的解决方案是用nodejs。。。代码主体也是找ChatGPT帮忙的。const puppeteer = require('puppeteer'); async function scrapeReactPage(id) { const url = `https://app.bns.org/name/${id}.btc/details`; // 启动浏览器并打开一个新页面 const browser = await puppeteer.launch(); const page = await browser.newPage(); // 导航到目标 URL await page.goto(url, { waitUntil: 'networkidle2' }); // 等待页面上的特定元素,以确保 React 渲染完成 await page.waitForSelector('#root'); // 获取页面内容 const content = await page.content(); // 关闭浏览器 await browser.close(); return content; } function delay(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } function isValidId(id) { return (id[0] === id[1] && id[1] === id[3]) || (id[0] === id[2] && id[2] === id[3]); } async function main() { for (let id = 1811; id <= 9999; id++) { const idString = id.toString(); if (isValidId(idString)) { try { const content = await scrapeReactPage(id); if (content.includes('Not owned')) { console.log(`${id} 可购买`); } else { console.log(`${id} ============已经被占用`); } // 等待一段时间,例如 1000 毫秒 await delay(1000); } catch (error) { console.error(`发生错误,ID: ${id}:`, error); } } } } main(); 当然,林老师告诉我,实际上他没学过Nodejs。 ## Publication Information - [日拱一卒王小楼](https://paragraph.com/@maskpad/): Publication homepage - [All Posts](https://paragraph.com/@maskpad/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@maskpad): Subscribe to updates - [Twitter](https://twitter.com/wang_xiaolou): Follow on Twitter