2017-09-01 81 views
0

我有問題。只與PYTHON2。Bs4創建對象很慢

r = self.session.get('http://..................') 
print "CREATE BS" 
print datetime.now() 
soup = BeautifulSoup(r.content, 'html.parser') 
print "CREATE BS END" 
print datetime.now() 

結果是:

CREATE BS 
2017-09-01 11:45:22.822256 
CREATE BS END 
2017-09-01 11:46:56.992892 

我不認爲這是正常的:1,5分鐘來解析HTML。 1周前我沒有這個源代碼的問題。任何知道bs4問題的人?

與python3一切都是約3秒。

+0

你使用的是什麼網址,這可能有助於解決爲什麼會發生這種情況,你的網速是什麼樣的? :) –

+0

使用'lxml'解析器,與html解析器相比,速度非常快。你需要安裝lxml。 – Stack

+0

無論網址bro或互聯網速度如何,我都會在第一次打印之前提出請求;)問題在於解析。 lxml解析有同樣的問題....非常慢。我試過 – simopopov

回答

0

夥計們我不相信,但問題是與編碼:D經過在bs4源代碼中的很多調試後,我找到了解決方案。解決方法是:

soup = BeautifulSoup(r.content, 'lxml', from_encoding="utf8") 

這from_encoding =「utf8」使所有的魔法。但這絕對是BS4中的錯誤。應該沒有這個工作:)正如我所說的python3沒有問題。

+1

如果這個答案適合你,你可以接受你自己的答案。 – serk