2017-06-21 58 views
0

我試圖使用谷歌搜索,並從搜索結果中得到第一個網址。我試圖利用google custom search api的。但似乎在這樣一個簡單的任務頂部。因此,我想用這個有趣的包,我發現: https://pypi.python.org/pypi/google使用谷歌和Python和存儲第一鏈接搜索?

這是我想出了迄今爲止

from google import search 
url = search('my search entry', stop=1) 
for result in url: 
    print(url) 

似乎search()返回幾個發電機對象。這是我的回報:

<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 
<generator object search at 0x10e230048> 

但是,我想要第一個外部URL /鏈接。有沒有辦法做到這一點?我試圖list() - 但generator似乎空。

+1

如果你沒有找到一個方法來做到這一點使用這個庫嘗試使用硒 –

回答

1

http://pythonhosted.org/google/,搜索的簽名是

generator search(query, tld='com', lang='en', num=10, start=0, stop=None, pause=2.0) 

嘗試設置NUM = 1和停止= 0

+0

謝謝,這已經幫助我了!但結果仍然是'<0x10e230048>處的生成器對象搜索 - 這更好。儘管如此,我怎麼才能掌握acctual網址? – Rachel

+0

來自同一鏈接:返回:生成器 產生找到的URL的生成器(迭代器)。如果stop參數是None,迭代器將永遠循環。 – mikep

1

您可以使用Seleniumgabriel belini提及。下面是我現在寫的只是一個,而這個

from selenium import webdriver 
    import time 
    chrome_path ="/usr/local/lib/python3.5/site-packages/selenium/chromedriver" 

    driver =webdriver.Chrome(chrome_path) 

    driver.get('https://google.com') 


    driver.find_element_by_css_selector('input#lst-ib.gsfi').send_keys('Music') 

time.sleep(5) 

driver.find_element_by_name('btnG').click() 

time.sleep(3) 

element1 = driver.find_element_by_xpath("//*[@id='rso']/div[1]/div/div[1]/div/div/div/div/div[1]/cite") 

print(element1.text) 

,其輸出的代碼 - 如果我搜索在搜索框中Music關鍵詞>https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ

,返回的第一個結果是的Youtube的 - 你可以看到這這裏

enter image description here

您可以使用pip安裝Selenium作爲

pip install -U Selenium 

並從here下載chromedriver。以上腳本中的chrome_path是您將保留chromedriver可執行文件的路徑。

+0

謝謝,這是一個非常好的解決方案。然而,使用http://pythonhosted.org/google/要快得多,所以我選擇了它。 – Rachel