Python 漂亮的汤和要求没有得到完整的页面

Python 漂亮的汤和要求没有得到完整的页面,python,web-scraping,beautifulsoup,python-requests,Python,Web Scraping,Beautifulsoup,Python Requests,我的代码看起来像这样 from bs4 import BeautifulSoup import requests r = requests.get("http://www.data.com.sg/iCurrentLaunch.jsp") data = r.text soup = BeautifulSoup(data) n = soup.findAll('table')[7].findAll('table') for tab in n: print tab.findAll('td')[

我的代码看起来像这样

from bs4 import BeautifulSoup
import requests

r  = requests.get("http://www.data.com.sg/iCurrentLaunch.jsp")
data = r.text
soup = BeautifulSoup(data)
n = soup.findAll('table')[7].findAll('table')
for tab in n:
    print tab.findAll('td')[1].text

我得到的是田园诗套房酒店的名称,之后出现错误“列表索引超出范围”。有什么问题吗?

我不知道到底是什么困扰着你。因为当我尝试你的代码(事实上)时,它对我有效

尽管如此,请尝试将解析器更改为html5lib

我也是

pip安装html5lib

然后将代码更改为

from bs4 import BeautifulSoup
import requests

r  = requests.get("http://www.data.com.sg/iCurrentLaunch.jsp")
data = r.text
soup = BeautifulSoup(data,'html5lib') # Change of Parser
n = soup.findAll('table')[7].findAll('table')
for tab in n:
    print tab.findAll('td')[1].text

让我知道它是否有用

您是否安装了lxml?我无法用3个受支持的解析器中的任何一个重现您的问题,但lxml和依赖项的某些安装有问题。是的,我安装了lxml Does
BeautifulSoup(数据'html.parser'))
是否为您工作?另请参见“是”,它工作正常。谢谢所有三个解析器的输出都是相同的。更改解析器对我有效。谢谢我不知道问题出在哪里我尝试了lxml解析器,但出现了“列表超出索引”的错误