2017-10-14 20 views
0

私はpythonで初心者です。一から学ぶことを試みた...しかし何かをする必要がある...私は私の読書を完了しなかったことを意味する。Python beautifulsoupは2行のテキストを取得します

は私がdateofauction内のテキストが

XXXX | 
14:00, 
         05 December 2017 

              63 Mattocke XXX, XXXxxxx, XX1 1XX 

である私は変数に "2017年12月5日を" 選ぶのに苦労しています以下のコード

import requests 
from bs4 import BeautifulSoup 

url="https://www.xxx.co.uk" 
page=requests.get(url) 
soup = BeautifulSoup(page.content, 'html.parser') 

lotnav=soup.find(id="lotnav") 
address=lotnav.find(class_="col-sm-18").find_all("b") 
timeofauction=lotnav.find(class_="col-sm-18").select("span")[1].get_text() 

dateofauction=lotnav.find(class_="col-sm-18") 

を持っています。 助けてもらえますか?

おかげ アミット

+0

最初のhtmlを掲載してください – RomanPerekhrest

+0

あなたの結果に関連して一貫性のある改行ですか?そうであれば、結果を改行で分割して該当する行を取得します。例えば'lines = dateofauction.split()'および 'result = lines [2]' –

答えて

0

thisはあなたがこすりしようとしているページがある場合は、col-sm-18divclass値は日付が表示された後、2個のspanタグが含まれていることがわかります。日付の直前のspanには時刻が含まれており、コード内で既に参照しているので、nextSiblingメソッドを呼び出すことができます。

あなたにあげる
lotnav.find(class_="col-sm-18").select("span")[1].nextSibling.strip() 

05 December 2017 

注:nextSibling方法はNavigableStringオブジェクトを返しますので、あなたはそれにget_text()メソッドを呼び出すべきではありません。エラーが発生します。シンプルに空白を取り除いて使用してください。

関連する問題