私は、HTMLから数字をスクラップするコードを作成しようとしています。解決できません:TypeError:期待される文字列またはバッファ
"expected string or buffer"というエラーが発生します。
別の質問を通じて私の検索をしている間、私はいくつかのソリューションを読んだが、私は" ''.join(some_list)"
をしようとしたとき、私は別のエラーを取得しています:
"sequence item 0: expected string, Tag found"
はその1を検索しようとしましたが、.get
を使用してのようないくつかの解決策を見ましたre.findall
ではなく、エラーが表示されたままになります。
コード:
import urllib
from BeautifulSoup import *
url = raw_input('Enter the URL:')
stri = urllib.urlopen(url).read()
soup = BeautifulSoup(stri)
#retrieve of the span tags
spans = ''.join(soup('span'))
numlist = list()
for tag in spans:
num = int(re.findall('[0-9]+', tag))
numlist.append(num)
print(numlist)
私は、エラーのこれらのタイプのいくつかのソリューションを見たが、それを解決するように見えることはできません。
私には何が欠けていますか? 、
が、私は別の記事を見て、「errnoが11004]のgetaddrinfoは失敗しました」が、それを解決することができませんでした:
私はtag.textを追加し、エラーが今私が取得しています、別のものに変更されました私は問題があるだ場所を確認するために線でコード行を走った、と私は私が元のコードで4番目の文を実行しているときに表示されることがわかった:
html = urllib.urlopen(url).read()
助けてください?
エラーメッセージをデバッグする最初のステップを使用して、行番号を見つけることです。行番号が不足しています。 – tcooc
Pythonは "期待される文字列またはバッファ"というだけではなく、問題のある行を示すスタックトレースを書きました。私たちはそれを見ることができるようにスタックトレースを投稿できますか?それ以外の場合は、問題がどこにあるかを推測する必要があります。 – tdelaney
デバッグのヒント: 'print'はあなたの友人です。あなたのコードに 'print 'badness'を追加し、(スープ( 'span')[0])'をタイプし、 'badness'を得ました。これは参加できるものではありません。 –
tdelaney