2014-02-09 72 views
1

我想從多個URL獲取元數據。我有這樣的代碼:如何對此進行循環?

from urllib import urlopen 
from lxml import etree 

f = urlopen('http://www.google.com', 
     'http://www.youtube.com').read() 

tree = etree.HTML(f) 
m = tree.xpath("//meta") 

for i in m: 
    print etree.tostring(i) 

但結果只會顯示給定的第一個url的元數據。我想我必須做一個循環,所以功能將運行在第二個網址,但我不確定如何做到這一點...

回答

2

urlopen只接受一個URL,所以你無法獲取多個網站這種方式 - 特別是不一次。您將有一次爲每個網址:

for url in ('http://www.google.com', 'http://www.youtube.com'): 
    f = urlopen(url).read() 
    tree = etree.HTML(f) 
    … 
+0

感謝您的快速回答,因爲你可能會說我很沒有經驗,當談到這個所以這可能聽起來很蠢。但我是否將剩餘的代碼保留在原始文章中的相同位置?所述 米= tree.xpath( 「//元」) 對於i爲m: 打印etree.tostring(ⅰ) 位? –

+0

是的,這應該工作。有疑問:只是試試:) – poke

+0

由於某種原因,它現在似乎跳過給出的第一個網站,並給出了第二個網站的元數據只.. ..誰知道.. –