對於我的本地體育俱樂部網站,複製和同步官方聯賽網站的排名和結果將是很好的。我使用python 3.5的燒瓶和硒。使用硒和燒瓶從網站複製表格
到目前爲止,我使用
driver.find_element_by_class_name("table")
查找表。有沒有一種有效的方法來存儲這個並一次性傳遞給jinja模板?還是必須分別存儲和處理表格的所有不同部分(標題,行,元素)?
對於我的本地體育俱樂部網站,複製和同步官方聯賽網站的排名和結果將是很好的。我使用python 3.5的燒瓶和硒。使用硒和燒瓶從網站複製表格
到目前爲止,我使用
driver.find_element_by_class_name("table")
查找表。有沒有一種有效的方法來存儲這個並一次性傳遞給jinja模板?還是必須分別存儲和處理表格的所有不同部分(標題,行,元素)?
當你有一個<table>
的信息,你應該只提取基於<tr>
,<td>
(以及可能的<th>
)的信息,並存儲在一個CSV或其他結構化文件(YAML,JSON),並承擔該數據從那裏的忍者模板。
如果您只是在數據更改時更新文件,這是更有效的方法之一,您可以檢查例如如果輸入(官方排名表)發生變化,則每小時一次。
這種解耦對於聯盟數據改變以使用時的重要性也很重要,例如, <div>
和<span>
,並且您的輸入處理需要進行調整。
@使用BeautifulSoup的建議是一個很好的建議,特別是如果數據處理量很大,一次從硒檢索HTML和BeautifulSoup處理速度要快得多。如果您不願意花時間研究如何使用完整的CSS(而不僅僅是課程)來選擇selenium
(使用.find_element_by_css_selector()
)中最容易轉換爲BeautifulSoup的元素(使用.select()
),那麼一旦您要進行轉換。
考慮使用BeautifulSoup – Will