0

この Web サイトのHotel Association Dataをスクレイピングしたいのですが、css セレクターのヘルプが必要です。下の画像が表示されている場合は、css セレクターを使用してここからアドレスを抽出しようとしています。

スクレイピングしたいデータ:20 West 29th StreetおよびNew York, NY 10001

ここに画像の説明を入力

次の兄弟メソッドの使用

記号を使用して次の兄弟を見つけることができることはわかっていますが、ここでの問題は、住所テキストに関連付けられて+いないことです。attributeここでは使用したくありませんが、すべての兄弟を検索し、そこからテキストを抽出xpathするための一般的な css セレクターを使用します。.hanyccompany

の兄弟をすべて見つける方法を誰か教えてください。class='hanyccompany

<span class="hanyccompany"><a href="http://www.acehotel.com/" target="_blank">ACE HOTEL NEW YORK</a></span><br />
20 West 29th Street<br />
New York, NY 10001<br />
4

1 に答える 1

2

BeautifulSoup を使用すると、データを簡単に解析および抽出できます。

from bs4 import BeautifulSoup
from mechanize import Browser

br = Browser()
br.addheaders = [('User-agent', 'Firefox')]
response = br.open("http://www.hanyc.org/members/hotels/")

web_data = response.read()

soup = BeautifulSoup(web_data, "html.parser")
tags = soup.find_all('span', attrs={"class": "hanyccompany"})

for tag in tags:
    print(tag.parent.text)
    print("------------------------------")

スパンの親のテキストを出力すると、次のような結果が得られます

ACE HOTEL NEW YORK
20 West 29th Street
New York, NY 10001
Jan Rozenveld, Managing Director
(212) 679-2222
(212) 679-1947
jan.rozenveld@acehotel.com

...
于 2016-03-21T03:50:51.173 に答える