2011-12-20 54 views
1

我在做一個網絡爬蟲。尋找一個頁面中的鏈接我在硒中使用xpath從代碼獲取所有的href

driver = webdriver.Firefox() 
driver.get(side) 
Listlinker = driver.find_elements_by_xpath("//a") 

這工作正常。然而,測試爬蟲,我發現並不是所有的鏈接都在標籤下。 href有時也用於區域或div標籤。

現在我堅持了

driver = webdriver.Firefox() 
driver.get(side) 
Listlinkera = driver.find_elements_by_xpath("//a") 
Listlinkerdiv = driver.find_elements_by_xpath("//div") 
Listlinkerarea = driver.find_elements_by_xpath("//area") 

從而真正把抓取的網頁爬蟲。我試過xpath "//@href",但那不起作用。我也嘗試過幾種方法以高效的方式獲得所有的href網址,都使用美麗的湯和lxml,但迄今爲止,都無濟於事。對不起,我沒有任何代碼可以顯示我用美麗的湯和lxml做出的努力,但是由於這些做法被證明是無用的,所以我刪除了它們,這不是最聰明的做法,我知道。我現在開始保存這些不成功的嘗試,爲我自己,如果我想再次嘗試,並想知道第一次出錯了什麼

任何幫助,我可以得到這一點將不勝感激。

回答

6

試試這個:

ListlinkerHref = driver.find_elements_by_xpath("//*[@href]") 
+2

我無法用語言表達,緊張緩解你的建議所帶來的感覺 - 太感謝你了! – Rookie 2011-12-20 08:54:15

+0

這是個好消息.. :) – Surya 2011-12-20 13:59:13