2015-10-30 14 views
5

Bir google aramasının ilk bağlantısını kazıyacak bir komut dosyası oluşturmaya çalışıyorum, böylece yalnızca ilk bağlantıyı geri göndereceğim terminalde bir arama yapın ve daha sonra arama terimiyle bağlantıya bakın. Sadece ilk sonuca ulaşmak için uğraşıyorum. Şimdiye kadar elde ettiğim en yakın şey bu.Bir google aramasının ilk bağlantısını güzel çorbayla nasıl çağırabilirim

import requests 
from bs4 import BeautifulSoup 

research_later = "hiya" 
goog_search = "https://www.google.co.uk/search?sclient=psy-ab&client=ubuntu&hs=k5b&channel=fs&biw=1366&bih=648&noj=1&q=" + research_later 


r = requests.get(goog_search)  
soup = BeautifulSoup(r.text) 

for link in soup.find_all('a'): 
    print research_later + " :"+link.get('href') 
+1

Neden google arama URL böyledir çok farklı parametrelerle uzun? (Ben sadece merak ediyorum) –

cevap

7

linki kaydetmek için cite etiketi kullanmak Google gibi görünüyor, bu yüzden sadece bu gibi soup.find('cite').text kullanabilirsiniz:

import requests 
from bs4 import BeautifulSoup 

research_later = "hiya" 
goog_search = "https://www.google.co.uk/search?sclient=psy-ab&client=ubuntu&hs=k5b&channel=fs&biw=1366&bih=648&noj=1&q=" + research_later 


r = requests.get(goog_search) 

soup = BeautifulSoup(r.text, "html.parser") 
print soup.find('cite').text 

Çıktı geçerli:

www.urbandictionary.com/define.php?term=hiya