プレーンテキストのドキュメントであるWebページを解析しようとしていますが、HTMLでエンコードされているため、BeautifulSoupを使用してテキストを取り出してリストを作成しようとしました。すべてのテキストであるWebページの解析
<body>
<pre>
--------------------
BDMEP - INMET
--------------------
Estação : PONTA PORA - MS (OMM: 83702)
Latitude (graus) : -22.55
Longitude (graus) : -55.71
Altitude (metros): 650.00
Estação Operante
Inicio de operação: 24/11/1941
Periodo solicitado dos dados: 01/01/2015 a 17/11/2016
Os dados listados abaixo são os que encontram-se digitados no BDMEP
Hora em UTC
--------------------
Obs.: Os dados aparecem separados por ; (ponto e vírgula) no formato txt.
Para o formato planilha XLS,
<a href="instrucao.html" target="_top" rel="facebox">siga as instruções</a>
--------------------
Estacao;Data;Hora;Precipitacao;TempMaxima;TempMinima;Insolacao;Evaporacao Piche;Temp Comp Media;Umidade Relativa Media;Velocidade do Vento Media;
83702;01/01/2015;0000;;;;;;;73.5;3.333333;
83702;06/01/2016;1200;5;;;;;;;;
83702;07/01/2016;0000;;;;;;;76.25;2.40072;
83702;01/02/2016;1200;15.2;;;;;;;;
</pre>
</body>
私は、に興味がある:データフレームを構築し、CSVとして保存する
理想的Piche;Temp Comp Media;Umidade Relativa Media;Velocidade do Vento Media;
83702;01/01/2015;0000;;;;;;;73.5;3.333333;
83702;06/01/2016;1200;5;;;;;;;;
83702;07/01/2016;0000;;;;;;;76.25;2.40072;
83702;01/02/2016;1200;15.2;;;;;;;;
。
これまでのところ、私のようなものを試してみました:
soup = BeautifulSoup(a.content, 'html.parser')
soup = soup.find_all('pre')
text = []
for i in soup:
print(i)
text.append(i)
しかし、それはトリックを行っていません。リスト内のすべてのエントリになります。
それはとても分割 'のような標準的な' STRING'関数を使用するテキストです( '\ n ') '、または' [start_row:end_row] 'をスライスします。 BSはHTMLタグでのみ有効です。 – furas
ああ、私は間違った方向に発砲したようだ。 –
'私はプレーンテキスト文書であるウェブページを解析しようとしている。だから、あなたが望むのはテキスト解析ツールだ。テキストの解析はこの作業の大部分を占めるように見えます。もしあれば、実際にHTMLを解析することはほとんどありません。 'bs4'はHTML解析には最適ですが、それは実際にはこの仕事ではありません。 @furasはこれについて素晴らしい答えを出しました。それがあなたに役立ったならば、答えとしてそれを受け入れるようにしてください。 – sytech