[英]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.