【发布时间】:2015-11-08 09:29:21
【问题描述】:
我一直在为 Beautiful Soup 和一个网页而苦苦挣扎。我想解析网页中的特定表格,但我遇到了问题。我的代码如下:
# -*- coding: cp1252 -*-
import urllib2
from bs4 import BeautifulSoup
page = urllib2.urlopen("http://www.snet.gob.sv/googlemaps/workstation/main.php").read()
soup = BeautifulSoup(page)
data = []
table = soup.find("table", { "class" : "mytable" })
table_body = table.find('tbody')
rows = table_body.find_all('tr')
for row in rows:
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append([ele for ele in cols if ele]) # Get rid of empty values
print data
它适用于另一个网页,但不适用于这个网页。我收到以下错误:
table_body = table.find('tbody')
AttributeError: 'NoneType' object has no attribute 'find'
它似乎没有找到标签“tbody”,但我已经检查过了,它在代码中。另一个问题是,当它工作时(其他网页),表格的每个项目旁边都有一个“u”。我已经搜索了很多,我找不到问题。谢谢你的帮助。
【问题讨论】:
-
表示没有类为mytable的表。
-
感谢您的回答@RishavKundu。我检查了网页,有一个“mytable”类的表格。
标签: python web web-scraping beautifulsoup