python - 使用 beautiful soup 抓取数据时网页表结构出现问题

标签 python html python-2.7 beautifulsoup

我正在使用以下代码使用 beautiful Soup 从网页上的表格结构中抓取数据:

# -*- coding: cp1252 -*-
import csv
import urllib2
import sys
import urllib
import time
import mechanize
from bs4 import BeautifulSoup
from itertools import islice


page = urllib2.urlopen('http://www.t-mobile.de/tarifuebersicht-telefonieren-und-surfen/0,23786,25241-_,00.html#grp=0&dev=0').read()
soup = BeautifulSoup(page)
for row in soup('table', {'class' : 'wloCol5'}).tbody('tr'):
    tds = row['td']
    print tds

这段代码给了我 AttributeError: 'ResultSet' object has no attribute 'tbody' 错误。我正在对另一个运行没有任何故障的网页使用类似的代码。请告知此代码/网页结构可能存在什么问题导致此错误。

最佳答案

调用 soup('table', {...}) 会找到多个表,因此它返回一个类似列表的对象。

尝试如下:

for table in soup('table', {...}):
    for tr in table("tr"):
        ...

关于python - 使用 beautiful soup 抓取数据时网页表结构出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981561/

相关文章:

python - 使用 python 识别列表中元组长度为 0 的最佳方法是什么

html - 仅使用 CSS 删除单选按钮文本

python - 使用 python 2.7 计算目录中有多少个文本文件并编辑它们

python - 如何在 Multiprocessing 中捕获 worker 中的异常

python - 我可以将 python 的 `for` 语句与这样的 SQL 结合起来吗 : `for id, name, ctime in db.select(' table_name', where ='...' )`

python - 在 python 中调整 ElasticNet 参数 sklearn 包

在 IE9 和 Firefox 中使用全屏模式的 HTML5 视频

javascript - 如何在 angularjs 中加载时从 div 调用函数

Python处理反向查找

python - 解决 vim 插件映射冲突 - 映射已经存在\t