2010-01-24 5 views
1

내 문제는 비즈니스 및 제품에 대한 모든 미친 (멋진 아이디어)의 이름을 만들려고 노력하면서 나 자신이 구입 한 제품의 구매 가능성을 .com 도메인 이름으로 확인해야합니다.두 개의 "윙윙 거리는 단어"목록을 병합하여 도메인 가용성 검사를위한 모든 가능성을 형성하는 시스템을 만들려고합니까?

그래서 두 개의 단어 목록을 만드는 펜과 종이 시스템이 있습니다 ... 예를 들어 목록 A와 목록 B.

목록 A에서 각 단어를 가져와 목록 B의 각 단어를 추가하여 (목록 A * 목록 B 결과의 합계를 생성하는) 사용자 지정 목록을 만들고 저장할 수있는 작은 응용 프로그램을 찾고 싶습니다.

목록 후

는 "ListAListB"결과를 컴파일, 내가 ... 닷컴 (.com) 도메인은 온라인으로 다른 방법을 통해 구입할 수 있는지 확인하는

을 원하는 그리고 궁극적으로 각 조합의 새로운 목록을 작성, 결합 된 단어가 .com으로 제공되는지 여부를 나타내는 색상이나 단어와 같은 시각적 상태와 함께 ...

그래서 기본적으로 중첩 된 for 루프 구조를 사용하여 List A의 각 단어를 색인하고 List B의 각 단어를 반복하며 List C를 만듭니다. 그런 다음 목록이 완전히 완성되면 CSV를 보냅니 까? 어딘가 온라인으로하고 어떻게 든 새로운 목록을 되 찾을 수 있습니다. 제 거친 생각이들 것 같습니다.

두 개의 원본 목록에서 목록을 만드는 알고리즘에 대한 조언을 보내 주시면 감사하겠습니다. 그 과정에서 어떤 도움을

아마 다운로드 할 수 있습니다 .. .. 감사 등 GoDaddy와, ICANN 통해 온라인 이미 더욱 감사이 도구를 찾을 수있는 곳으로 어떤 도움을 사용할 수있는 도메인 이름을 확인하는 무료 SDK 또는 도구를 사용하여 몇 년 전의 C++ 경험을 토대로 가정에서 사용하는 언어로 작성하지만 3 년 전 대학 시절부터 실제로 녹슬지는 않았습니다.

감사합니다. 확인을 위해

답변

0

당신이 줄 수있는 도메인이 밖으로 시도하는 경우 :

요청이 페이지 :

이 JSON을 반환합니다
http://instantdomainsearch.com/services/quick/?name=example 

(= 가능한 U = 사용할 수없는, A)

{'name':'example','com':'a','net':'u','org':'a'} 

그런 다음 구문 분석 만하면됩니다. 도메인을 많이 확인하는 경우 차단 될 수는 있지만이 사이트는 한 세션에서 많은 요청을 받았기 때문에 의심 스럽습니다. 각 요청간에 적어도 800 밀리 초를 일시 중지해야합니다. 목록 작성을위한

C# 코드는 :

// Load up all the lines of each list into string arrays 
string[] listA = File.ReadAllLines("listA.txt"); 
string[] listB = File.ReadAllLines("listB.txt"); 

// Create a list to hold the combinations 
List<string> listC = new List<string>(); 

// Loop through each line in listA 
foreach(string buzzwordA in listA) 
{ 
     // Now loop through each word in listB 
     foreach(string buzzwordB in listB) 
      listC.Add(buzzwordA + buzzwordB); // Combine them and add it to the listC 
} 

File.WriteAllLines("listC.txt", listC.ToArray()); // Save all the combos 

나는 코드를 확인하지만 일반적인 생각 이잖아하지 않았다. 거대한리스트에 대해서는 나쁜 아이디어입니다. 왜냐하면 동시에리스트를 메모리에 완전히 읽어 들이기 때문입니다.더 나은 솔루션은 아마 파일을 줄 단위하여 FileStream과에서는 StreamReader

편집하여 읽고 (같은 생각을하지만이 filestreams 사용) :

// Open up file streams for the lists 
using(FileStream _listA = new FileStream("listA.txt", FileMode.Open, FileAccess.Read, FileShare.Read)) 
using(FileStream _listB = new FileStream("listB.txt", FileMode.Open, FileAccess.Read, FileShare.Read)) 
using(StreamReader listA = new StreamReader(_listA)) 
using(StreamReader listB = new StreamReader(_listB)) 
using(StreamWriter listC = new StreamWriter("listC.txt")) 
{ 
     string buzzwordA = listA.ReadLine(); 
     while(buzzwordA != null) 
     { 
       string buzzwordB = listB.ReadLine(); 
       while(buzzwordB != null) 
       { 
        listC.WriteLine(buzzwordA + buzzwordB); 
        buzzwordB = listB.ReadLine(); 
       } 
       buzzwordA = listA.ReadLine(); 
       // reset the listB stream to the begining 
       listB.BaseStream.Seek(0, SeekOrigin.Begin); 
     } 


} // All streams and readers are disposed by using statement 

이를 시도 JSON을 구문 분석 : C# Json Parser Library

+0

매우 도움이 무슨 일을하는지 등을 점검, 감사합니다. 누구나 내 시나리오의 목록 작성 부분에 대해 통찰력을 갖고 있습니까? – blair

+0

C# 예제로 업데이트되었습니다. –

2

다음은 Chris의 대답을 활용하는 빠른 셸 스크립트입니다.

#!/bin/sh 

ids_url="http://instantdomainsearch.com/services/quick/?name=" 

for a in $(< listA); do 
    for b in $(< listB); do 

     avail=`wget -qO- $ids_url$a$b | sed -e "s/.*'com':'u'.*//g"` 

     if [ "$avail" == "" ]; then 
     echo "$a$b.com unavailable" 
     else 
     echo "$a$b.com available" 
     fi 

    done 
done 

그것은 두 목록을 반복은 wget과 함께 DNS 서비스를 안타가 포함 된 결과를 찾습니다 " '컴' 'A' '. 목록를 가정 할 것은 '끈적 거리는', 'foo는'및 'arglbar'포함 목록 B는 'GLE'포함, 출력은 다음과 같아야합니다

google.com unavailable 
foogle.com unavailable 
arglbargle.com available 

파이프 그것을 grep -v unavail를 통해서만 사용할 수있는 이름을 볼 수 있습니다.

관련 문제