无论如何都要在bs4中进行高效编码


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替换为另一个。

替代

"html.parser";lxml"

确实帮助我加快了代码的速度。

最新更新