2017-05-07 5 views
0

私はクラスプロジェクト用のWebスクレーパーを作成しようとしています。私は美しいスープを使用しています。内側の次の要素のhtml要素内の "データ"またはカスタムパラメータの値を掻き集める

data-bathroom-value 

data-bedroom-value 

パラメータ:

私はの値をこすりしたい

<td class="floorplan-bed-bath" data-bathroom-value="1" data-bedroom-value="0">Studio/1 bath</td> 

基本的に数の値を取得しようベッドルーム数とベッドルーム数。

答えて

2

BeautifulSoupを使用してHTMLを解析してから、タグのattributeを取得することができます。

DEMO

>>> html_doc = '<td class="floorplan-bed-bath" data-bathroom-value="1" data-b edroom-value="0">Studio/1 bath</td>' 
>>> from bs4 import BeautifulSoup 
>>> soup = BeautifulSoup(html_doc, 'html.parser') 
>>> attrs = soup.td.attrs 
{u'data-bathroom-value': u'1', u'data-bedroom-value': u'0', u'class': [u'floorplan-bed-bath']} 
>>> attrs.get('data-bedroom-value') 
u'0' 
+0

感謝。これは私をより近づけましたが、私はまだ番号 '1'だけを分離する方法を知らない。私はそれに取り組んでいきます。 – goofy564

0
from bs4 import BeautifulSoup 
import urllib2 

page = urllib2.urlopen("http://example.com/path/to/page") 
soup = BeautifulSoup(page.read()) 

for td in soup.find_all("td"): 
    if "data-bathroom-value" in td.attrs: 
     print("Bathrooms: ", td["data-bathroom-value"]) 
    if "data-bathroom-value" in td.attrs: 
     print("Bedrooms: ", td["data-bedroom-value"]) 
関連する問題