2014-01-15 68 views
0

當我使用BeautifulSoup 4解析http://www.madcamcnc.com/sales.html,然後查找表標記時,它會找到2.當我查看頁面的html時,會看到10個表。爲什麼BeautifulSoup不會全部返回10?爲什麼BeautifulSoup找不到所有標籤?

from bs4 import BeautifulSoup 

import urllib2 

page = urllib2.urlopen("http://www.madcamcnc.com/sales.html") 
soup = BeautifulSoup(page) 
print len(soup.findAll('table')) 
+0

它返回多少? – 2014-01-15 04:58:09

+0

這個問題似乎是脫離主題,因爲它是關於看錯網頁。 – MattDMo

回答

1

查看源代碼顯示頁面的實際HTML源代碼中只有3個表格。其他表格必須在加載頁面後使用Javascript添加,這是BeautifulSoup沒有看到的。

BeautifulSoup只能在給定的HTML文檔上工作,但不會加載或執行Javascript,因此瀏覽器和文檔BeautifulSoup之間的差異處理。

enter image description here

+0

你怎麼得到3,我得到2?我複製/粘貼源文件並搜索單詞「table」 - 四個匹配,每個'

'和'
'兩個'... – MattDMo

+0

@MattDMo擊敗我...我在源代碼的屏幕截圖中添加了I看到。 – 2014-01-15 05:03:03

+1

aha。您正在查看'