Czy ktoś może mi pomóc, jak napisać skrypt Pythona, który wyszukuje google i drukuje linki najlepszych wyników.Wyszukiwarka Google przy użyciu skryptu python
Odpowiedz
Może coś takiego?
import urllib import json as m_json query = raw_input ('Query: ') query = urllib.urlencode ({ 'q' : query }) response = urllib.urlopen ('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&' + query).read() json = m_json.loads (response) results = json [ 'responseData' ] [ 'results' ] for result in results: title = result['title'] url = result['url'] # was URL in the original and that threw a name error exception print (title + '; ' + url)
Czytaj docs http://docs.python.org/
Daje to tylko pięć wyników? – user567879
Ten api nie jest już dostępny. Musimy użyć https://developers.google.com/custom-search/ –
jest lepiej zalecane, aby użyć google API ale bardzo brzydką wersję .. (alternatywnie użyć google API) można filtrować zawartości jeśli chcesz
import os, urllib, sys
filename = 'http://www.google.com/search?' + urllib.urlencode({'q': ' '.join(sys.argv[1:]) })
cmd = os.popen("lynx -dump %s" % filename)
output = cmd.read()
cmd.close()
print output
wydrukuje dokładnie to, co powinna wyświetlić przeglądarka, gdy wyszukasz coś w google
interesującego dla "Lynx -dump" – mt3
Zwykle uzyskuję dobre wyniki z 're' (moduł wyrażeń regularnych) do" zrzutu "kodu źródłowego strony. Na wszelki wypadek korzystanie z Linuksa jest niedostępne, o) – heltonbiker
Istnieje kolejna fajna biblioteka o nazwie xgoogle. Możesz użyć tego na wszelki wypadek. Oto link http://www.catonmat.net/blog/python-library-for-google-search/
from pygoogle import pygoogle
g = pygoogle('quake 3 arena')
g.pages = 5
print '*Found %s results*'%(g.get_result_count())
g.get_urls()
Dude, którego właśnie skopiowałeś i wkleiłeś z pygoogle, który już nie działa. Zapewniłeś także zerowe wyjaśnienie. – reticentroot
Jak @Zloy Smiertniy wskazał, że odpowiedź można znaleźć here.
Jednakże, jeśli używasz Pythona 3, zmieniła się składnia raw_input
, urllib
i trzeba dekodować response
. Tak więc, w Pythonie 3 można użyć:
import urllib
import urllib.request
import json
url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
query = input("Query:")
query = urllib.parse.urlencode({'q' : query })
response = urllib.request.urlopen (url + query).read()
data = json.loads (response.decode())
results = data [ 'responseData' ] [ 'results' ]
for result in results:
title = result['title']
url = result['url']
print (title + '; ' + url)
W python3 otrzymuję ten błąd: obiekt 'module' nie ma atrybutu 'parsować' –
Hmm ... dziwne. Powinien tam być zgodnie z https://docs.python.org/3/library/urllib.html. Zauważyłem, że po ponownym uruchomieniu skryptu musiałem dodać "import urllib.request" (teraz w zaktualizowanej odpowiedzi), więc może "import urllib.parse" może pomóc w twoim przypadku. Zauważ też, że po ponownym uruchomieniu skryptu miałem problemy z uzyskaniem wyniku dla 'response', więc' url' mógł się zmienić od czasu ostatniego użycia skryptu. Najlepsze szczęście –
Ten interfejs API nie jest już dostępny. Alternatywą jest [google-custom-search] (https://developers.google.com/custom-search/). – ands
Jestem początkującym użytkownikiem Pythona. Po prostu mój prosty pomysł na wyszukiwanie w Google.
import webbrowser
lib=raw_input("Enter what you want to search for:")
ur="https://www.google.co.in/gfe_rd=cr&ei=Q7nZVqSBIMSL8QeBpbOoDQ#q="
webbrowser.open_new(ur+lib)
To nie robi właściwie tego, o co go prosiliśmy; wykonuje wyszukiwanie google, otwierając okno przeglądarki, ale kod Pythona nigdy nie otrzymuje wyników wyszukiwania do wyświetlenia (lub w inny sposób manipulowania). – Mogsdad
Spróbuj tego, jego bardzo proste w użyciu: https://pypi.python.org/pypi/google
Docs: https://breakingcode.wordpress.com/2010/06/29/google-search-python/
GitHub: https://github.com/MarioVilas/google
Zainstaluj ten pakiet python i wykorzystywany jest jako proste jak to:
# Get the first 5 hits for "google 1.9.1 python" in Google Pakistan
from google import search
for url in search('google 1.9.1 python', tld='com.pk', lang='es', stop=5):
print(url)
http://www.geeksforgeeks.org/performing-google-search-using-python-code/ – JerryGoyal
Spróbuj wykonać następujące czynności:
import webbrowser
lib = input()
url = "https://www.google.co.in/search?q=" +(str(lib))+ "&oq="+(str(lib))+"&gs_l=serp.12..0i71l8.0.0.0.6391.0.0.0.0.0.0.0.0..0.0....0...1c..64.serp..0.0.0.UiQhpfaBsuU"
webbrowser.open_new(url)
Nie odpowiada to na pytanie OP. Po prostu otwiera stronę w oknie przeglądarki (mimo że OP pyta o skrypt Pythona) i nie drukuje wyników (linków). – ands
Użyłem SERP API do osiągnięcia tego celu.
Instrukcje są dość proste:
pip install google-search-results
i użycie jest:
from lib.google_search_results import GoogleSearchResults
query = GoogleSearchResults({"q": "coffee"})
json_results = query.get_json()
Bardziej zaawansowane zastosowania są na Github.
- 1. o google google przy użyciu python
- 2. Jak przesłać plik na Dysk Google przy użyciu skryptu Python?
- 3. Wyszukiwarka Google z aplikacji Pythona
- 4. Zwykła wyszukiwarka Google
- 5. Jak filtrować z pliku CSV przy użyciu skryptu Python
- 6. przy użyciu wywołania podprocesowego python do wywołania skryptu Pythona
- 7. przy użyciu skryptu analytics.js i react-ga
- 8. Zatrzymaj wykonywanie skryptu wywoływanego przy użyciu execfile
- 9. programowalna wyszukiwarka?
- 10. Generowanie skryptu dla wyzwalaczy tylko przy użyciu kreatora skryptu
- 11. Wykonywanie pliku EXE przy użyciu skryptu PowerShell
- 12. przy użyciu skryptu bash w oczekiwaniu
- 13. Edytowanie pliku plist przy użyciu skryptu powłoki
- 14. Jak wyłączyć sortowanie przy użyciu skryptu jQuery.DataTables?
- 15. wygenerować losowy plik przy użyciu skryptu powłoki
- 16. odczytać zawartość katalogu przy użyciu skryptu powłoki
- 17. python przy użyciu metody argparse.ArgumentParser
- 18. Błąd Python przy użyciu urllib.open
- 19. ANT nie otrzymuje kodu powrotu przy użyciu skryptu pythonowego
- 20. Uruchamiaj polecenia npm przy użyciu podprocesu Python
- 21. Wyszukiwarka Lucene kontra Wyszukiwarka baz danych
- 22. Wyszukiwarka Słowa kluczowe Parser
- 23. Wyszukiwarka z 'nie znaczy'
- 24. Uzyskiwanie dostępu do Dysku Google przy użyciu aplikacji Google App Engine Python
- 25. Uruchomienie debuggera Python przy jednoczesnym wykonywaniu modułu jako skryptu
- 26. Wyszukiwarka ASP.NET
- 27. Przesyłanie pliku do google docs za pomocą skryptu Python
- 28. Postgres Duża wyszukiwarka tekstowa
- 29. Uwierzytelnianie za pomocą Google przy użyciu OpenOAuthProvider
- 30. HTML2PDF przy użyciu interfejsu API Dysku Google
Jestem pewien, że ktoś może. Co napisałeś do tej pory? – jball
Albo jak podstawowej pomocy szukasz? [Początkujący] (http://stackoverflow.com/questions/207701/python-tutorial-for-total-beginners)? Pierwsze kroki z [web scraping] (http: // stackoverflow.com/questions/2081586/web-scraping-with-python)? – jball
@jball Nie mam jeszcze zakodowanych. Jestem nowy w Pythonie. Nauczyłem się podstawowej struktury kodowania w Pythonie. Tak więc w celu realizacji wyszukiwania Google możesz zasugerować mi, od czego zacząć. jakiego rodzaju modułów użyć? – sudh