簡體   English   中英

使用Beautiful Soup 4和Python解析錯誤

[英]Parsing error with Beautiful Soup 4 and Python

我需要從此網站獲取房間列表: http : //www.studentroom.ch/en/dynasite.cfm?dsmid=106547

我正在使用Beautiful Soup 4來解析頁面。 這是我到目前為止編寫的代碼:

from bs4 import BeautifulSoup
import urllib

pageFile = urllib.urlopen("http://studentroom.ch/dynasite.cfm?dsmid=106547")
pageHtml = pageFile.read()
pageFile.close()

soup = BeautifulSoup("".join(pageHtml))

roomsNoFilter = soup.find('div', {"id": "ImmoListe"})

rooms = roomsNoFilter.table.find_all('tr', recursive=False)

for room in rooms:
    print room
    print "----------------"

print len(rooms)

現在,我正在嘗試僅獲取表的行。 但是我只有7行,而不是78行(或77行)。

起初,我很難接受只接收部分html,但是我打印了整個html,並且正確接收了它。 頁面加載后沒有ajax調用會加載新行...

有人可以幫助我找到錯誤嗎?

這對我有用

soup = BeautifulSoup(pageHtml)
div = soup.select('#ImmoListe')[0]
table = div.select('table > tbody')[0]
k = 0
for room in table.find_all('tr'):
    if 'onmouseout' in str(room):
        print room
        k = k + 1
print "Total ",k

讓我知道狀態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM