2017-12-19 5 views
2

私は、このページからすべての情報を抽出するために探しています:Pythonを使用してFTPサーバーからテキストをスクレイプするにはどうすればよいですか?

Text data in FTP

私は要求libには、FTPのために働かないので、私はftplibの使用に頼っていることを理解しています。

ただし、ドキュメントはディレクトリ内のファイルのダウンロードのみを探索するようです。私は、「ファイルの種類」事前に

FTP server

感謝せずに、このファイルをダウンロードするにはどうすればよいです。

+0

どのようなテキストですか? ftpはファイルまたはファイルのリストのみを指示することができます。もしあなたがブラウザや他のプログラムで何かを見たら、このプログラムによって追加された追加の情報です。たぶん質問のスクリーンショットを追加して、あなたが留意したテキストを表示する – furas

+0

がスクリーンショットを追加しました。もし私が不明であれば申し訳ありません。 – james

+1

それはディレクトリ内のファイルのリストです - あなたは 'ftp.retrlines( 'LIST')を使ってそれを得ることができます'最初の[documentation in example]を参照してください(https://docs.python.org/3.6/library/ftplib.html) Webブラウザは、それを異なる方法で再フォーマットするだけです。しかし、ftplibで同じ結果を得ることはできません。あなたはWebブラウザを制御するためにSeleniumしか使用できず、ブラウザからテキストを取得することができます。 – furas

答えて

1

あなたがretrlines likeを使用し、すべての一時ファイルを使用せずに、メモリにテキストファイルの内容をダウンロードする場合:

contents = "" 
def collectLines(s): 
    global contents 
    contents += s + "\n" 

ftp.retrlines("RETR " + filename, collectLines) 

または配列を使用します。

lines = [] 
ftp.retrlines("RETR " + filename, lines.append) 

をバイナリファイルについては、Read a file in buffer from FTP pythonを参照してください。

関連する問題