【问题标题】:Is there anyways to do efficient coding in bs4无论如何在bs4中进行有效编码
【发布时间】: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 替换为另一个。

【问题讨论】:

  • 你试过selenium
  • 如何将 [tag: selenium] 应用到我的代码中?它真的比其他任何东西都快吗?
  • 您已经在问题中标记了selenium,因此如何尝试得出结论。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python selenium


【解决方案1】:

替换

“html.parser”到“lxml”

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多