2017-12-16 5 views
-1

こんにちは私は問題を抱えていますが、ウェブからすべてのデータを取得したいのですが、これを変数に保存するには大きすぎます。私は、データがこのようにそれを作る保存:Pythonのウェブサイトからテキストファイルを読む

r = urlopen("http://download.cathdb.info/cath/releases/all-releases/v4_2_0/cath-classification-data/cath-domain-list-v4_2_0.txt") 
r = BeautifulSoup(r, "lxml") 
r = r.p.get_text() 
some operations 

この私はこのウェブサイトからデータを取得する必要がありますまで、良い仕事をしていた:私は私のプログラムがで停止され、このページに上記と同じコードを実行 http://download.cathdb.info/cath/releases/all-releases/v4_2_0/cath-classification-data/cath-domain-description-file-v4_2_0.txt

r = BeautifulSoup(r, "lxml") 

これは永遠に何も起こりません。私はキーワード全体を検索して印刷するいくつかの操作を行うために、この全データをファイルに保存しない方法を知らない。これをファイルに保存することはできません。ウェブサイトから取得する必要があります。

私は非常にすべての助けに感謝します。

+1

に回答されたテキストからコンテンツを取得するために、問題になることでしょうか?... – alecxe

+0

あなたは、私が(.read使用する必要があります意味)関数は、応答オブジェクトのエンコーディングを使用しますか?これになることは永遠に取っています。 – Ppyyt

+0

さて、あなたは少なくともファイルをダウンロードし、チャンクで処理しようとすることができます:https://stackoverflow.com/a/16696317/771848。 – alecxe

答えて

1

以下のコードは、あなたが望むことができると思います。 @alecxeによるコメントのように、BeautifulSoupを使う必要はありません。この問題は、オンラインのファイルとなぜあなたはHTMLパーサで「TXT」ファイルを解析している。このIn Python, given a URL to a text file, what is the simplest way to read the contents of the text file?

import urllib.request import urlopen 

r = urlopen("http://download.cathdb.info/cath/releases/all-releases/v4_2_0/cath-classification-data/cath-domain-list-v4_2_0.txt") 

for line in r: 
    do_somthing() 
関連する問題