2016-12-04 58 views
-1

對於我的本地體育俱樂部網站,複製和同步官方聯賽網站的排名和結果將是很好的。我使用python 3.5的燒瓶和硒。使用硒和燒瓶從網站複製表格

到目前爲止,我使用

driver.find_element_by_class_name("table")

查找表。有沒有一種有效的方法來存儲這個並一次性傳遞給jinja模板?還是必須分別存儲和處理表格的所有不同部分(標題,行,元素)?

+0

考慮使用BeautifulSoup – Will

回答

0

當你有一個<table>的信息,你應該只提取基於<tr><td>(以及可能的<th>)的信息,並存儲在一個CSV或其他結構化文件(YAML,JSON),並承擔該數據從那裏的忍者模板。

如果您只是在數據更改時更新文件,這是更有效的方法之一,您可以檢查例如如果輸入(官方排名表)發生變化,則每小時一次。

這種解耦對於聯盟數據改變以使用時的重要性也很重要,例如, <div><span>,並且您的輸入處理需要進行調整。

@使用BeautifulSoup的建議是一個很好的建議,特別是如果數據處理量很大,一次從硒檢索HTML和BeautifulSoup處理速度要快得多。如果您不願意花時間研究如何使用完整的CSS(而不僅僅是課程)來選擇selenium(使用.find_element_by_css_selector())中最容易轉換爲BeautifulSoup的元素(使用.select()),那麼一旦您要進行轉換。