我有一个脚本,可以从文本文件读取URL,执行请求,然后将所有响应保存在一个文本文件中。如何将每个响应保存在不同的文本文件中,而不是保存在同一个文件中?例如,如果标记为input.txt的文本文件有20个URL,我希望将响应保存在20个不同的.txt文件中,例如output1.txt、output2.txt,而不是一个.txt文件。因此,对于每个请求,响应都保存在一个新的.txt文件中。多谢各位
import requests
from bs4 import BeautifulSoup
with open('input.txt', 'r') as f_in:
for line in map(str.strip, f_in):
if not line:
continue
response = requests.get(line)
data = response.text
soup = BeautifulSoup(data, 'html.parser')
categories = soup.find_all("a", {"class":'navlabellink nvoffset nnormal'})
for category in categories:
data = line + "," + category.text
with open('output.txt', 'a+') as f:
f.write(data + "\n")
print(data)
我不确定我是否正确理解你的问题
我将创建一个数组/列表,并为每个url请求和响应创建一个对象。然后将对象添加到数组/列表中,并为每个对象写入不同的文件
您可以使用
open('something.txt', 'w')
创建一个新文件。如果找到该文件,它将删除其内容。否则,它将生成一个名为'something.txt'的新文件。现在,您可以使用file.write()
来编写您的信息下面是一个快速实现其他人暗示的方法:
相关问题 更多 >
编程相关推荐