2015-10-30 6 views
5

Sto provando a creare uno script che scriverà il primo link di una ricerca su google in modo che mi restituisca solo il primo link in modo da poter eseguire una ricerca nel terminale e guarda il collegamento in seguito con il termine di ricerca. Sto lottando per ottenere solo il primo risultato. Questa è la cosa più vicina che ho avuto finora.Come posso raschiare il primo collegamento di una ricerca di google con una bella zuppa

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

Perché la ricerca di URL di Google in modo lungo con tanti parametri diversi? (Sono solo curioso) –

risposta

7

Sembra come Google utilizzare cite tag per salvare il link, in modo che possiamo semplicemente usare soup.find('cite').text come questo:

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 

uscita è:

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