2

Beautiful Soup 4を使用して解析したhtmlファイルがあり、これが私が興味のあるセクションです

[
 <td>Name :</td>,   <td>xyz</td>, 
 <td>Mobile :</td>, <td>180-14587962</td>, 
 <td>Company:</td>, <td>abc Comp</td>, 
 <td>Name :</td>,   <td>  </td>, 
 <td>Mobile :</td>, <td>  </td>, 
 <td>Company:</td>, <td>  </td>, 
 <td>Name :</td>,   <td>  </td>, 
 <td>Mobile :</td>, <td>  </td> 
]

Name と Mobile を別々に抽出するだけです (これらは解析ツリーで同じレベルにあります)。どうすればいいですか?すでにsoup.find_next_siblingsメソッドを使用してみましたが、データを目的の形式で保存できません( Number と Mobile の2つの別々のリスト)

4

2 に答える 2

0

これが私がそれを解決した方法です

for tag in soup.findAll('td'):
  if tag.text.strip("\n").strip(' ').strip("\n")== 'Name :':
      inter=tag.find_next_sibling()
      list_name.append(inter.text.strip("\n").strip(' ').strip("\n"))
  if tag.text.strip("\n").strip(' ').strip("\n")== 'Mobile :':
      inter=tag.find_next_sibling()
      list_mobile.append(inter.text.strip("\n").strip(' ').strip("\n"))

すべての td タグをループして「Name :」または「Mobile :」を見つけ、別のリストに次のタグ (値を含む) を追加しました

于 2015-10-13T04:41:18.323 に答える