A Google keresési Python programot

szavazat
-1

Próbálom, hogy egy bemeneti fájlt, olvassa soronként, Google-keresés a vonalat, és kinyomtatja a keresési eredményeket a lekérdezés, ha az eredmény egy adott honlapon. Egy egyszerű példa, hogy bemutassa a lényeg, ha keresni kutyát csak olyan eredményeket szeretne nyomtatni wikipedia, legyen az egyik eredménye, vagy tíz eredményeket wikipedia. A problémám az, én már egyre nagyon furcsa eredményeket. Az alábbiakban az én Python kód, amely egy adott URL-t szeretnék eredményeket.

Saját programot

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.

Saját kimeneti fájl hibás, ahogy kéne formázott szám

query string
http://www.
http://www.
http://www.
query string
http://www.
query string
http://www.medical...
http://www.medical...
A kérdést 18/12/2015 23:12
felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

Tud körét korlátozni az eredményeket az adott oldalon (pl wikipedia) idején a lekérdezést? Például, használ:

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

Ez arra utasítja a Google-t vissza csak a következménye, hogy domain, így nem kell szűrni azokat, miután látta az eredményeket.

Válaszolt 18/12/2015 23:30
a forrás felhasználó

szavazat
0

Azt hiszem @Cahit joga van ötlete. Az egyetlen ok, akkor a szerzés vonalak csak a query string van, mert a domain, amit keresett nem volt a top_urls(). Ennek ellenőrzéséhez ellenőrzi, ha a tömb tartalmazza a szótárban egy adott kulcs üres

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]))
Válaszolt 19/12/2015 00:13
a forrás felhasználó

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