page = requests.get("http://www.freejobalert.com/upsc-recruitment/16960/#Engg-Services2019")
c = page.content
soup=BeautifulSoup(c,"html.parser")
tables=soup.find_all("table",{"style":"width: 500px;"})
print(tables)
在此页面中,有10个表格。但是它只给出表的特定部分,而不是完整表。 它没有完全给所有表。 我期望像第二张桌子。但就像第一个屏幕截图一样
答案 0 :(得分:1)
此代码给出了14个条目,其中不应考虑第一个和最后一个。最后一个是JavaScript代码。
您只需要将解析器更改为更宽松的解析器,即可在https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser中找到更多信息。
page = requests.get("http://www.freejobalert.com/upsc-recruitment/16960/#Engg-Services2019")
c = page.content
soup=BeautifulSoup(c,"html5lib")
tables=soup.find_all("table")
for table in tables[1:-1]:
print (table.text)
如果更改解析器显示错误,则在您的环境中安装html5lib,如下所示 pip3安装html5lib