2016-07-20 27 views
1

私はウェブサイト上の勝利を予測できるかどうかを確認するためにサイドプロジェクトに取り組んでいますが、これはBeautifulSoupを初めて使用したときの1つです。どのように文字列をサイズにカットするかについては完全に確かです。Python、BeautifulSoup - 文字列の一部を抽出する

ここにコードがありますが、基本的にはクラッシュした場所の情報を取得したいと考えています。

from bs4 import BeautifulSoup 
from urllib import urlopen 

html = urlopen('https://www.csgocrash.com/game/1/1287324').read() 
soup = BeautifulSoup(html) 

for section in soup.findAll('div',{"class":"row panel radius"}): 
    crashPoint = section.findChildren()[2] 
    print crashPoint 

これを実行すると、これが出力として取得されます。

<p> <b>Crashed At: </b> 1.47x </p> 

私は基本的に唯一の両側からカットするために私を必要とする数値を、つかむしたい、私はこれを行うことについては移動する方法を知っているだけでなく、HTMLタグを削除しないでくださいしたいと思います。

答えて

2

は、テキストによってCrashed Atラベルを見つけて、次の兄弟取得:

:シングル Crashed At値があるので、あなたがこの場合はループを必要とする場合、またわからない

soup = BeautifulSoup(html, "html.parser") 

for section in soup.findAll('div', {"class":"row panel radius"}): 
    crashPoint = section.find("b", text="Crashed At: ").next_sibling.strip() 
    print(crashPoint) # prints 1.47x 

from bs4 import BeautifulSoup 
from urllib import urlopen 

html = urlopen('https://www.csgocrash.com/game/1/1287324').read() 
soup = BeautifulSoup(html, "html.parser") 

section = soup.find('div', {"class":"row panel radius"}) 
crashPoint = section.find("b", text="Crashed At: ").next_sibling.strip() 
print(crashPoint) 
+0

エラーが発生しているようです。 トレースバック(最新のコール最後): ファイル "C: にある/Python27/CSGOCrash/2xProgram.py "の8行目.next_sibling.strip() AttributeError: 'NoneType'オブジェクトには属性がありません'strip' –

+0

@BenParry私はあなたが明示的にパーサを指定し、答えを更新する必要があると思います。 – alecxe

+0

まだ私と一緒に働きたいとは思わないが、私は恐れ入りますが –

関連する問題