1

私は次のコードを使用して、美しいスープを使用してWebページに存在する表形式の構造からデータを取得しています。

# -*- 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'エラーを与えています。グリッチなしで実行されている別のWebページに同様のコードを使用しています。このエラーの原因となっているこのコード/ウェブページ構造の問題を教えてください。

4

1 に答える 1

1

呼び出しsoup('table', {...})は複数のテーブルを検出するため、リストのようなオブジェクトを返します。

次のようなものを試してください:

for table in soup('table', {...}):
    for tr in table("tr"):
        ...
于 2013-02-20T14:02:27.667 に答える