【发布时间】:2022-06-12 23:57:19
【问题描述】:
def parse_table_data(self) -> typing.Union[dict, None]:
page_source = self.driver.page_source
soup = BeautifulSoup(page_source, "html.parser")
svg_container = soup.find_all("div", {"class":"scaledRoad--7fdfb"})
road_result_container = {
"A": [],
"B": [],
"C": [],
"D": [],
"E": [],
"F": [],
}
for tn, c in zip(['A','B','C','D','E','F'], svg_container):
for svg in c.find_all("svg", {"class": "svg--34293"}):
if svg.has_attr('name') and svg.has_attr('data-type'):
name = svg['name']
data_type = svg['data-type']
if ("Banker" in name or "Player" in name) and data_type == "roadItem":
road_result_container[tn].append(name.split(" ")[0])
return road_result_container
此代码每个函数调用大约需要 0.5。我想知道如何使用 bs4 有效地编码。 我会考虑减少使用 for 循环或将 bs4 替换为另一个。
【问题讨论】: