【问题标题】:How can I read a list of urls from a text file and save all the responses into one text file?如何从文本文件中读取 url 列表并将所有响应保存到一个文本文件中?
【发布时间】:2020-08-17 22:55:50
【问题描述】:

我在一个文本文件中有一个 url 列表。我想将文本文件中的 url 提供到我的代码脚本中,而不是将每个 url 粘贴到脚本中,但不确定如何这样做。我还想将所有回复保存到一个文本文件中。谢谢

import requests
from datetime import datetime

def run():

    url = "https://en.wikipedia.org/wiki/NBA"

    payload = {}
    headers= {}

    response = requests.request("POST", url, headers=headers, data = payload)

    print(response.text)

startTime = datetime.now()
run()
print(datetime.now() - startTime)

文件:Wiki.text

https://en.wikipedia.org/wiki/NBA
https://en.wikipedia.org/wiki/NFL
https://en.wikipedia.org/wiki/MLB
https://en.wikipedia.org/wiki/NHL

【问题讨论】:

  • @MendelG 不,它没有
  • 你卡在哪里了?您需要打开文件,遍历链接并将输出写入另一个文件
  • @MendelG 我正在尝试将所有 url 的响应打印到文本文件中。不要复制链接。

标签: python python-3.x url python-requests readline


【解决方案1】:

试试这个,它返回Wiki.txt中每个页面的代码以及获取它所花费的时间:

import requests
from datetime import datetime
def run():
    links_file = open('Wiki.txt', 'r')
    outputs_file = open('outputs.txt', 'a')
    for link in links_file.readlines():  # run for ever line in file
            payload = {}
            headers = {}

            response = requests.request("POST", link, headers=headers, data=payload)

            outputs_file.write(response.text + '\n')
    links_file.close()
    outputs_file.close()

startTime = datetime.now()
run()
print(datetime.now() - startTime)

基本上,您需要做的就是添加一个循环,该循环针对文件中的每一行运行,然后将生成的代码添加到另一个文本文件中。

【讨论】:

    【解决方案2】:

    你可以这样做:

    import requests
    list_of_pages = open('list_of_links.txt', 'r+')
    save = open('output.txt', 'a+')
    save.truncate(0)
    for page_link in list_of_pages:
        url = page_link
        payload = {}
        headers = {}
        response = requests.request("POST", url, headers=headers, data=payload)
        save.write(str(response) + "\n")
    

    【讨论】:

    • 文件中的输出:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多