αναζήτηση στο Google από το πρόγραμμα Python

ψήφοι
-1

Προσπαθώ να λάβει ένα αρχείο εισόδου, να διαβάσετε κάθε γραμμή, αναζήτηση στο Google με αυτή τη γραμμή και να εκτυπώσετε όλα τα αποτελέσματα αναζήτησης από το ερώτημα μόνο αν το αποτέλεσμα είναι από μια συγκεκριμένη ιστοσελίδα. Ένα απλό παράδειγμα για να τονίσει το σημείο μου, αν μπορώ να ψάξω το σκυλί θέλω μόνο τα αποτελέσματα εκτυπώνονται από το wikipedia, είτε πρόκειται για ένα αποτέλεσμα ή δέκα αποτελέσματα από την wikipedia. Το πρόβλημά μου είναι που έχω πάρει πραγματικά περίεργο αποτελέσματα. Παρακάτω είναι ο κώδικας Python μου, η οποία περιέχει μια συγκεκριμένη διεύθυνση 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

Μπορείτε να περιορίσει το πεδίο εφαρμογής των αποτελεσμάτων στη συγκεκριμένη περιοχή (π.χ. wikipedia) κατά τη στιγμή του ερωτήματος; Για παράδειγμα, χρησιμοποιώντας:

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

Αυτό θα δώσει εντολή στην Google να επιστρέψει μόνο τα αποτελέσματα από αυτόν τον τομέα, έτσι δεν θα χρειαστεί να τα φιλτράρετε μετά από να δει τα αποτελέσματα.

Απαντήθηκε 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