表格报废中的结果不完整

时间:2018-02-03 06:34:48

标签: python web-scraping beautifulsoup urllib

我正在尝试使用beautifulsoup废弃http://bifr.nic.in/asp/list.asp此页面并从中获取表格。 以下是我的代码

from bs4 import BeautifulSoup
import urllib.request
base_url = "http://bifr.nic.in/asp/list.asp"

page = urllib.request.urlopen(base_url)
soup = BeautifulSoup(page, "html.parser")

table = soup.find("table",{"class":"forumline"})
tr = table.find_all("tr")
for rows in tr:
    print(rows.get_text())

它没有显示错误,但是当我执行它时,我只能从表中获取第一行内容。

List of Companies

Case
            No
Company
            Name









 359  2000   A & F OVERSEAS LTD.





 359  2000   A & F OVERSEAS LTD.
 359  2000   A & F OVERSEAS LTD.

这是我得到的结果。我无法理解发生了什么。

2 个答案:

答案 0 :(得分:3)

页面代码可能包含html标记中的一些错误,请尝试使用html5lib而不是html.parser,但在需要安装之前:

minimum_should_match*

答案 1 :(得分:3)

Try this to get all the data from that table:

from urllib.request import urlopen
from bs4 import BeautifulSoup

page = urlopen("http://bifr.nic.in/asp/list.asp")
soup = BeautifulSoup(page, "html5lib")
table = soup.select_one("table.forumline")
for items in table.select("tr")[4:]:
    data = ' '.join([item.get_text(" ",strip=True) for item in items.select("td")])
    print(data)

Partial Output:

359 2000 A & F OVERSEAS LTD.
99 1988 A B C PRODUCTS LTD.
103 1989 A INFRASTRUCTURE LTD.
3 2006 A V ALLOYS LTD.
13 1988 A V J WIRES LTD.