私はHTMLタグ間のテキストを抽出する必要があります。私はBeautifulSoupを使ってデータを抽出し、テキストを変数に格納して後で処理しました。後で私は、私が抽出する必要があるテキストが2つの異なるタグに入っていることが分かった。ただし、テキストを抽出して同じ変数に格納する必要があることに注意してください。以前のコードとサンプルのHTMLテキスト情報が提供されています。最終結果、つまり期待される結果を得る方法を教えてください。Pythonスープを使ってダイナミックHTMLタグ間にテキストを抽出します
サンプルHTMLテキスト:
<DIV CLASS="c0"><P CLASS="c1"><SPAN CLASS="c2">1 of 80 DOCUMENTS</SPAN></P>
<DIV CLASS="c0"><BR><P CLASS="c1"><SPAN CLASS="c2">Financial Times (London, England)</SPAN></P>
<DIV CLASS="c0"><BR><P CLASS="c1"><SPAN CLASS="c2">Copyright 2015 The Financial Times Ltd.<BR>All Rights Reserved<BR>Please do not cut and paste FT articles and redistribute by email or post to the web.</SPAN></P>
<DIV CLASS="c0"><P CLASS="c1"><SPAN CLASS="c2">80 of 80 DOCUMENTS</SPAN></P>
</DIV>
<BR><DIV CLASS="c3"><P CLASS="c1"><SPAN CLASS="c2">Financial Times (London,England)</SPAN></P>
</DIV>
<DIV CLASS="c3"><P CLASS="c1"><SPAN CLASS="c2">Copyright 1990 The Financial Times Limited</SPAN></P>
</DIV>
上記HTMLテキストから、私は単一の変数への文書(80の文書、80件の文書の80の1)を格納する必要があります。他のテキストと同様に、同様のアプローチに従います。 div.c0のコードを書きました
soup = BeautifulSoup(response, 'html.parser')
docpublicationcpyright = soup.select('div.c0')
list1 = [b.text.strip() for b in docpublicationcpyright]
doccountvalues = list1[0:len(list1):3]
publicationvalues = list1[1:len(list1):3]
copyrightvalues = list1[2:len(list1):3]
documentcount = doccountvalues
publicationpaper = publicationvalues
ご協力いただけると助かります。
誰もこれで私を助けることができる以下のように見える3つのすべての必要なフィールドを抽出することができ、質問&に投稿された唯一のサンプルHTML
を考慮し、サンプルコードを書きました – Mho
出力サンプルを投稿します。 –
サンプル出力:documentcount = [ドキュメント80件中1件、ドキュメント80件中80件]、publicationpaper = [Financial Times(London、England)、Financial Times(London、England)] – Mho