为列表中的 URL 运行 python 脚本并输出到 txt

我有一个用于单个 URL 的 python 脚本,我需要为来自 url.txt 的多个 URL 运行它,并在单个 txt 文件中获取输出。


这是python脚本(缩小):


import urllib2

from bs4 import BeautifulSoup

quote_page = 'https://www.example.com/page/1024'

#Rest of the script here

print var1

print var2

print var3

以下是一个 URL 的示例输出:


Name: John Doe

DOB: 01-Jan-1980

Gender: Male

我想要这个 URL 1 的输出,我的脚本完全按照我的意愿给出。我想在 url.txt 中对 URL 2、URL 3 等重复此操作。


任何想法如何?


PS 我一直保持简单的问题,但如果你需要更多的细节,让我知道,我会这样做。


慕勒3428872
浏览 178回答 2
2回答

萧十郎

以追加模式打开一个文件,并将每个文件的输出写入其中。import urllib2from bs4 import BeautifulSoupquote_page = 'https://www.example.com/page/1024'#Rest of the script hereoutput = open("output.txt", 'a') # 'a' means open in append mode so the file is not overwritten# change print to output.write()output.write(str(var1) + '\n') # separate each var by a new lineoutput.write(str(var2) + '\n')output.write(str(var3) + '\n')output.close()这将写入所有 var1,然后是所有 var2,然后是所有 var3,每个都以空行分隔,然后关闭文件。为了使其更兼容从命令行接受 url:import sysimport urllib2from bs4 import BeautifulSoupquote_page = sys.argv[1] # this should be the first argument on the command line#Rest of the script hereoutput = open("output.txt", 'a') # 'a' means open in append mode so the file is not overwritten# change print to output.write()output.write(str(var1) + '\n') # separate each var by a new lineoutput.write(str(var2) + '\n')output.write(str(var3) + '\n')output.close()使用您的 url 的示例命令行:$python3.6 myurl.py https://www.example.com/page/1024

弑天下

要从您的文件中获取 url,您需要打开它,然后为每一行运行您的脚本。假设每一行有一个 url。要写入输出文件,请打开一个文件并将 var1、var2 和 var3 写入其中import urllib2from bs4 import BeautifulSoupwith open('url.txt') as input_file:    for url in input_file:        quote_page = url        #Rest of the script herewith open("ouput_file.txt", "w") as output:    output.write(f'{var1}\n')    output.write(f'{var2}\n')    output.write(f'{var3}\n')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python