【问题标题】:How to put all this links in one text document如何将所有这些链接放在一个文本文档中
【发布时间】:2018-08-30 21:41:01
【问题描述】:

所以,这里是交易:我有下面这段代码,它会产生多个结果,我如何将所有这些结果放在一个文档中?我想知道是否可以将所有这些都设为链接列表。它是这样来的

['http://acervo.estadao.com.br/pagina/#!/20171101-45305-nac-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20171004-45277-spo-1-pri-a1-not/busca/Minist%C3%A9rio', 'http://acervo.estadao.com.br/pagina/#!/20171004-45277-nac-1-pri-a1-not/busca/Minist%C3%A9rio', 'http://acervo.estadao.com.br/pagina/#!/20171109-45313-nac-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20171219-45353-nac-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20171122-45326-spo-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20171122-45326-nac-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20171229-45363-spo-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20171229-45363-nac-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20180105-45370-nac-1-pri-a1-not/busca/minist%C3%A9rio']

['http://acervo.estadao.com.br/pagina/#!/20180202-45398-spo-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20180202-45398-nac-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20180131-45396-spo-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20100702-42626-spo-1-pri-a1-not/busca/Ministro', 'http://acervo.estadao.com.br/pagina/#!/20101202-42779-spo-1-pri-a1-not/busca/Minist%C3%A9rio', 'http://acervo.estadao.com.br/pagina/#!/20101220-42797-spo-1-pri-a1-not/busca/Minist%C3%A9rio', 'http://acervo.estadao.com.br/pagina/#!/20100904-42690-spo-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20101102-42749-spo-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20100514-42577-nac-1-pri-a1-not/busca/ministro', 'http://acervo.estadao.com.br/pagina/#!/20100915-42701-spo-1-pri-a1-not/busca/Minist%C3%A9rio']

但我想要一个类似列表的东西,像这样:

http://acervo.estadao.com.br/pagina/#!/20171101-45305-nac-1-pri-a1-not/busca/ministro
http://acervo.estadao.com.br/pagina/#!/20180202-45398-spo-1-pri-a1-not/busca/ministro
http://acervo.estadao.com.br/pagina/#!/20180131-45396-spo-1-pri-a1-not/busca/ministro
http://acervo.estadao.com.br/pagina/#!/20171101-45305-nac-1-pri-a1-not/busca/ministro

按照它们在 .txt 文档中的获取顺序排列的一堆链接。我不知道如何开始(我是编程新手)。

opts = Options()
opts.add_argument("user-agent=Mozilla/5.0")

driver = webdriver.Chrome(chrome_options=opts)
x = 1

driver.get("http://acervo.estadao.com.br/procura/#!/ministro%3B minist%C3%A9rio|||/Acervo/capa//1/2000|2010|2010///Primeira")
time.sleep(5)
page_number = driver.find_element_by_class_name("page-ultima-qtd").text

for i in range(int(page_number)):
    link = ("http://acervo.estadao.com.br/procura/#!/ministro%3B minist%C3%A9rio|||/Acervo/capa//{}/2000|2010|2010///Primeira").format(x)
    #driver.get(link)
    links = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.LINK_TEXT, "LEIA ESTA EDIÇÃO")))
    references = [link.get_attribute("href") for link in links]
    driver.find_element_by_class_name("seta-right").click()
    time.sleep(1)

    print(references)        
    x = x + 1
    #print(x)
    print(i)

【问题讨论】:

    标签: python list selenium hyperlink document


    【解决方案1】:
    import csv
    list1 = ['a','b','c']
    list2 = ['a','b','c']
    
    #if your output your getting is lists you could put them all into one list first
    
    master = list1 + list2
    #concatenated lists
    print(master)
    
    #then simply send to file
    
    with open("filenames.csv", 'w') as f:
        wr = csv.writer(f, lineterminator='\n')
        for row in master:
            wr.writerow([row])
    

    【讨论】:

      【解决方案2】:

      最简单的解决方案:在打印之前格式化您的references 列表,即

      # print(references)
      print("\n".join(references))
      

      或者一张一张打印出来(可能会长一点,但很好):

      # print(references)
      for ref in references:
          print(ref) 
      

      然后使用您的操作系统重定向将输出重定向到文件(linux 示例):

      $ python yourscript.py > myurls.txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多