【问题标题】:how to save parsed data into two different lists如何将解析后的数据保存到两个不同的列表中
【发布时间】:2022-11-25 10:16:38
【问题描述】:

我有这段代码:


lokk = []
nums = 7
for _ in range(nums):
    inner = driver.find_element_by_xpath(
        "/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").get_attribute(
        "innerHTML")
    lokk.append(inner)
    time.sleep()
    print(lokk)

这为我提供了这些数据:

['1', '2', '3', '4', '5', '6', '7']

我想要做的是将该数据保存到两个不同的列表中,第一个列表包含前六个值,例如['1', '2', '3', '4', '5', '6'] 和包含全部七个值的第二个列表,例如['1', '2', '3', '4', '5', '6', '7']我希望它是这样的,以便收集的下一个数据样本包含第二个列表的最后一个值作为列表对的第一个值,就像这样['7', '8', '9', '10', '11', '12', '13']

我认为这是某种程度上能够像我想要的那样获取不同列表中的数据的代码,但很快意识到,当它去获取第二个七个值列表的第二组数据时,数据会已经改变,那不是我想要的

lok = []
num = 6
for _ in range(num):
    inner = driver.find_element_by_xpath(
    "/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").get_attribute(
        "innerHTML")
    lok.append(inner)
    time.sleep(10)
    print(lok)

lokk = []
nums = 7
for _ in range(nums):
    inner = driver.find_element_by_xpath(

"/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").get_attribute(
        "innerHTML")
    lokk.append(inner)
    time.sleep()
    print(lokk)

我在其中看到的另一个缺陷是,当稍后再次运行该过程时,第七个数据将不是新列表集的第一个数据。 这意味着而不是:

listA = ['1', '2', '3', '4', '5', '6']
listB = ['1', '2', '3', '4', '5', '6', '7']
ListC = ['7', '8', '9', '10', '11', '12']
listD = ['7', '8', '9', '10', '11', '12', '13']

这将是:

listA = ['1', '2', '3', '4', '5', '6']
listB = ['1', '2', '3', '4', '5', '6', '7']
ListC = ['8', '9', '10', '11', '12', '13']
listD = ['8', '9', '10', '11', '12', '13', '14']`

我真的希望我对我正在寻求帮助的内容足够清楚,如果不是请告诉我。 请帮忙 :(

【问题讨论】:

    标签: python list selenium parsing


    【解决方案1】:

    您可以通过多种方式实现这一点,试试这个:

    对于ListC

        lok_c = []
        num_c = 13
        for _ in range(num_c):
            inner = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").
    get_attribute("innerHTML")
            if num_c > 7:
                lok_c.append(inner)
            time.sleep()
            print(lok_c)
    

    对于ListD

        lok_d = []
        num_d = 14
        for _ in range(num_d):
            inner = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/div/div/div[2]/div/div/div/div[2]/div[2]/div/div/div[2]/div[5]/span[1]").
    get_attribute("innerHTML")
            if num_d > 7:
                lok_c.append(inner)
            time.sleep()
            print(lok_d)
    

    如果我遗漏了任何内容,请更正缩进和变量名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多