簡體   English   中英

無法使用beautifulsoup解析python中的HTML

[英]Unable to parse the HTML in python using beautifulsoup

我是編程以及python的新手。 請耐心等待我。 :)我想解析的鏈接是http://results.vtu.ac.in/vitavi.php?rid=1JS10CS007&submit=SUBMIT

在那個鏈接上; 我需要抓一些東西,並在這篇文章中附上的圖片中標記了這些內容。 我無法自己做,因為頁面的代碼沒有很好的編寫/組織。 請幫我這方面。 謝謝。

我編寫了一個程序來獲取頁面代碼。 這里是:

from bs4 import BeautifulSoup
from urllib2 import urlopen
mylink = "http://results.vtu.ac.in/vitavi.php?rid=1JS10CS007&submit=SUBMIT"
pagetext = urlopen(mylink).read()
soup = BeautifulSoup(pagetext)
print soup.prettify()

假設您想獲取結果表的內容。

沒有面向數據的類或id,並且有很多嵌套表使得查找所需數據變得更加困難。

我會找到Subject元素並找到第一個父table 然后,迭代行和單元格並獲取所需的數據:

from urllib2 import urlopen

from bs4 import BeautifulSoup

url = "http://results.vtu.ac.in/vitavi.php?rid=1JS10CS007&submit=SUBMIT"

soup = BeautifulSoup(urlopen(url))
results_table = soup.find(text="Subject").find_parent("table")

for row in results_table.find_all("tr"):
    print [cell.get_text(strip=True) for cell in row.find_all("td")]

打印:

[u'Subject', u'External', u'Internal', u'Total', u'Result']
[u'Software Architectures (10IS81)', u'46', u'21', u'67', u'P']
[u'System Modeling and Simulation (10CS82)', u'45', u'15', u'60', u'P']
[u'Software Testing (10CS842)', u'41', u'15', u'56', u'P']
[u'Project Work (10CS85)', u'95', u'97', u'192', u'P']
[u'Information and Network Security (10CS835)', u'39', u'20', u'59', u'P']
[u'Seminar (10CS86)', u'0', u'44', u'44', u'P']

暫無
暫無

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

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