私はstackoverflowを徹底的に検索しましたが、適切な解決策を見つけることができませんでした。私は従来のWebサイトを削っているので、すべてのラベルと入力名を抽出したい。古いWebページのHTMLフォーマットは、私がラベル(テキストを必要とするように私は、findAllの方法を試してみましたが、失敗した複数のHTMLタグを持つWebページをスクラップできません
First Name, firstname
Last Name, lastname
Gender, gender
User Name, username
User Account, useraccount
としてbeautifulsoupでのpythonを使用して出力を抽出したいこの
<div class="labellong">First Name</div>
<INPUT class="input-l" name="firstname">
<div class="labellong">Last Name</div>
<INPUT class="input-l" name="lastname">
<div class="labellong">Gender</div>
<input type="radio" name="gender" value="male"> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<table>
<tr valign="top">
<td width="174">User Name</td>
<td width="888"><input name="username" value="" id="username" class="input-m" /></td>
</tr>
<tr>
<td width="174">User Account</td>
<td width="888"><input name="useraccount" value="" id="uaseraccount" class="input-m" /></td>
</tr>
</table>
のようなものです)と入力タグ名を一緒に、ラベルテキストで複数のhtmlタグでスクラップするソリューションはありますか?おかげ
は、私は、Webページに新しいこすると、ここで私が見つけ、私がしようとするだろうソリューションは兄弟https://www.crummy.com/software/BeautifulSoup/bs4/doc/#next-sibling-and-previous-sibling
を選択することがあるので、最初に各ラベルと、その後のラベルを見つける
from bs4 import BeautifulSoup
import urllib.request as urllib2
f = open("g:\output.txt", "w")
errFile = open("g:\error.txt", "w")
url = "file:///g://pharmacy.htm"
file = urllib2.urlopen(url)
soup = BeautifulSoup(file)
for message1 in soup.findAll(["div", {"class": "labellong"}, "input", {"class": "input-l"}, "td"]):
outText = message1.get_text()
f.write(outText + '\n')
f.close()
errFile.close()
私は試したコードで投稿を更新しました。希望の出力を得るためにnext_elementまたはnext_siblingsを使用する必要がありますか? – AnuNag