2016-05-31 10 views
0
html = urlopen(url) 
bs = BeautifulSoup(html.read(), 'html5lib') 

を作成する際に立ち往生は、プロセスがBeautifulSoup(html.read(), 'html5lib')で立ち往生、私は「lxmlの」と「html.parser」にHTMLパーサから変更しようとしています。しかし、問題は解決しません。 BeautifulSoupにバグはありますか?どうすればこの問題を解決できますか?使用BeautifulSoupでHTMLを解析するが、数回実行した後BeatuifulSoupオブジェクト

更新 私はこの

print('open the url') 
html = urlopen(url) 
print('create BeautifulSoup Object') 
bs = BeautifulSoup(html.read(), 'html5lib') 

コンソール印刷create BeautifulSoup Objectのように、プログラム内のいくつかのログを追加して、ちょうどカーソルが点滅してそこにとどまります。

+0

さらに詳しい情報が得られれば、エラーやタイムアウトはありますか? – glls

+0

エラーはありません。プログラムはちょうどそこにこだわってしまいます。 – DarkerLuna

+3

最も可能性の高い問題は、実際にはhtml.read()呼び出しでスタックされていて、BeautifulSoupが責任を負わないことです。たぶんあなたの問題が本当にBeautifulSoupであることを確認するために、html.read()を引き出してください。 –

答えて

0

同じ問題が発生しましたが、応答がいくつかのエラーが発生した場合、urlopen()リソースが正しく閉じないため、プログラムがhtml.read()で停止していることがわかりました。

あなたがこのように変更することができ

with urlopen(url) as html: 
    html = html.read() 
bs = BeautifulSoup(html, "lxml") 

それとも、このようurllibよりも優れているrequestsパッケージを、使用することを選択することができます

import requests 

html = requests.get(url).text 
bs = BeautifulSoup(html, "lxml") 

が、それはあなたの問題を解決することを願って

関連する問題