2016-09-21 3 views
0

を使用してHTMLにCSSのパス(祖先タグ)を見つけます。したがって、たとえば、HTMLはHTML snippet私はテキストに一致するすべての祖先divタグを取得したいのpython

のように見える場合、私は「伯爵E.バード」を探しています。私は、これは私がどのように進めるべき

r=requests.get(self.url,verify='/path/to/certfile') 
       soup = BeautifulSoup(r.text,"lxml") 
       divTags = soup.find_all('div') 

をやったことある{「買い手-情報」、「買い手名を」}

含むリストを取得したいですか?

+1

貼り付け –

答えて

0

をテキストとしてではなく、IMGなど、あなたのポストでtitle=True

soup = BeautifulSoup(r.text,"lxml") 
div = soup.find('div', text="Earl E. Byrd") 

print([div["title"]] + [d["title"] for d in div.find_all_previous("div", title=True)]) 
0

式を使ったソリューション:あなたはテキストを使用してdiv要素を見つけるまず、テキストによるdiv要素を検索し、タイトル属性を持つ以前のすべてのdivを取得したい場合は、その後、

//div[@title="buyer-info"]/div[text() = "Carlson Busses"]/ancestor::div 
+0

感謝を設定find_all_previousを使用しています。しかし、私は、スクリプトの中で、「買い手コード」を書きたくはありません。私は「カールソンツアーバス」のコードと私は親のdivにそのDIV(買い手名)でタイトルだけでなく、すべてのタイトルを取得したいこのテキストに基づいてすることができます。(それは階層内の親タグを持っている場合)。 –

+0

は私の編集したPOSTをチェック –

関連する問題