2016-09-21 16 views
0

我想要在所有祖先div標籤中匹配文本。因此,例如,如果HTML看起來像HTML snippet使用python在HTML中找到CSS路徑(ancestor tags)

而我正在尋找「伯爵E.伯德」。我想獲得它包含{「買方信息」,「買方名稱」}

這是我做過什麼

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

我該如何操作列表?

+1

粘貼文本,而不是IMG並在您的文章 –

回答

0

如果你要搜索的文本div和獲得所有具有標題屬性以前的div,首先使用文本找到格,然後使用find_all_previous設置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[@title="buyer-info"]/div[text() = "Carlson Busses"]/ancestor::div 
+0

感謝。但是,我不想在腳本中編寫「買方代碼」。我可以在「Carlson Busses」中編寫代碼,並且基於此文本,我希望獲得該div(buyer-name)中的標題以及父div中的所有標題(如果它在層次結構中有父標記)。 –

+0

檢查我編輯的POST –