2016-01-13 57 views
2

我想從website中提取某些鏈接。Python - 從網站中提取特定鏈接

提取所有環節,我想:

import urllib 
import xml.etree.ElementTree as ET 
from BeautifulSoup import * 

url = 'http://pdok.bundestag.de/index.php?qsafe=&aload=off&q=kleine+anfrage&x=0&y=0&df=22.10.2013&dt=13.01.2016' 
uh = urllib.urlopen(url) 
data = uh.read() 
soup=BeautifulSoup(data) 
soup.prettify() 

for href in soup.findAll('a'): 
    print href 

現在,我得到的鏈接列表,但由於某些原因,我沒有得到在tbody的重要環節。我也試過使用ElementTree,但是我剛剛閱讀鏈接時發生錯誤,因爲它使用了一些無效的符號(?)。任何幫助深表感謝! :)

回答

3

urllib用Javascript加載網站的HTML 關閉。您嘗試在tbody中抓取的鏈接由JavaScript呈現,因此請勿加載。

您可以通過在瀏覽器中關閉JavaScript並訪問網站來複制此行爲。如果你經常刮擦,你可能希望下載一個瀏覽器插件,它允許你快速打開和關閉JavaScript。

要抓取使用JavaScript加載HTML內容的網站,您可能希望探索瀏覽器自動化選項,例如selenium

+0

啊好吧,這是有道理的。我會研究一下,謝謝! :) – erocoar