अजगर कार्यक्रम से गूगल खोज

वोट
-1

मैं, कोई इनपुट फ़ाइल ले प्रत्येक पंक्ति पढ़ते हैं, कि लाइन के साथ गूगल खोज और क्वेरी केवल तभी परिणाम किसी विशिष्ट वेबसाइट के है से सभी खोज परिणामों प्रिंट करने का प्रयास कर रहा हूँ। एक साधारण उदाहरण अगर मैं कुत्ता मैं केवल विकिपीडिया से मुद्रित परिणाम चाहते हैं खोज करने पर मेरे बिंदु को वर्णन करने के लिए, कि एक परिणाम या दस परिणाम विकिपीडिया से हो या नहीं। मेरी समस्या मैं वास्तव में अजीब परिणाम प्राप्त किया गया है है। नीचे मेरी अजगर कोड है जो एक विशिष्ट URL मैं से परिणाम चाहते हैं है।

मेरे कार्यक्रम

inputFile = open(small.txt, 'r') # Makes File object
outputFile = open(results1.txt, w) 
dictionary = {}  # Our hash table
compare = www.someurl.com/ # urls will compare against this string

from googlesearch import GoogleSearch

for line in inputFile.read().splitlines():
    lineToRead = line
    dictionary[lineToRead] = [] #initialzed to empty list
    gs = GoogleSearch(lineToRead)
    for url in gs.top_urls():
        print url # check to make sure this is printing URLs
        compare2 = url
        if compare in compare2: #compare the two URLs, if they match 
            dictionary[lineToRead].append(url) #write out query string to dictionary key & append EACH url that matches 
inputFile.close()

for i in dictionary:
    print i # this print is a test that shows what the query was in google (dictionary key)
    outputFile.write(i+\n)
    for j in dictionary[i]: 
        print j # this print is a test that shows the results from the query which should look like correct URL: www.medicaldepartmentstore.com/...(dictionary value(s))
        outputFile.write(j+\n) #write results for the query string to the output file.

मेरे आउटपुट फ़ाइल गलत है, जिस तरह से यह प्रारूप तैयार किया जाता है चाहिए था

query string
http://www.
http://www.
http://www.
query string
http://www.
query string
http://www.medical...
http://www.medical...
18/12/2015 को 23:12
उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

आप क्वेरी के समय में विशिष्ट साइट (विकिपीडिया जैसे) के परिणामों के दायरे को सीमित कर सकते हैं? उदाहरण के लिए, का उपयोग करते हुए:

gs = GoogleSearch("site:wikipedia.com %s" % query) #as shown in https://pypi.python.org/pypi/googlesearch/0.7.0

यह गूगल कि डोमेन से परिणाम वापस जाने के लिए हिदायत देगा, इसलिए आप परिणाम देखने के बाद उन्हें फ़िल्टर करने की जरूरत नहीं होगी।

18/12/2015 को 23:30
का स्रोत उपयोगकर्ता

वोट
0

मुझे लगता है कि @Cahit सही विचार है। एकमात्र कारण आप की तर्ज हो रही हो जाएगा बस क्वेरी स्ट्रिंग क्योंकि डोमेन आप देख रहे थे में नहीं किया गया है top_urls()। आप देख कर इसकी पुष्टि कर सकते हैं अगर सरणी किसी कुंजी के लिए शब्दकोश में निहित रिक्त है

for i in dictionary:
    outputFile.write("%s: " % str(i))
    if len(dictionary[i]) == 0:
        outputFile.write("No results in top_urls\n")
    else:
        outputFile.write("%s\n" % ", ".join(dictionary[i]))
19/12/2015 को 00:13
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more