0

このサイトを解析しようとしているところですが、BeautifulSoup を使用するとエラーが発生し続けます。誰かが私を助けて問題を特定できますか?

import urllib
import urllib.request
import beautifulsoup




html = urllib.request.urlopen('http://yugioh.wikia.com/wiki/Card_Tips:Blue-Eyes_White_Dragon').read()
soup = beautifulsoup.bs4(html)
texts = soup.findAll(text=True)

def visible(element):
    if element.parent.name in ['style', 'script', '[document]', 'head', 'title']:
        return False
    elif re.match('<!--.*-->', str(element)):
        return False
    return True

visible_texts = filter(visible, texts)
4

1 に答える 1

0

モジュール名とクラス名を混同しました。それよりも:

import beautifulsoup

必要なもの:

import bs4

そしてむしろ:

beautifulsoup.bs4(...)

必要なもの:

bs4.BeautifulSoup(...)

また、Beautiful Soup の最新バージョンでは、名前のキャメルケースのバリアントよりもアンダースコアのバリアントが優先されます。これは、他の Python 規則により適合するためです。

soup.find_all(...)

また、 で何をしているかによっては、 lazy ではなくvisible_textsが必要になる場合があります。listfilter

visible_texts = list(filter(visible, texts))
于 2013-04-04T03:18:34.227 に答える