Запись множества массивов в один .txt файл
Получаю информацию в виде массивов При попытке записать это все в файл, записывается лишь один из массивов
import re
import requests
from bs4 import BeautifulSoup as bs
url = 'https://www.proxyscan.io/'
def col(url):
req = requests.get(url)
soup = bs(req.text, 'html.parser')
result = soup.find_all('tr')
for i in result:
result = re.findall('\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}', i.text)
for i in result:
with open('file.txt', 'w') as file:
file.write(result, file)
col(url)
Ответы (1 шт):
for i in result:
with open('file.txt', 'w') as file:
file.write(regx, file)
Каждый раз, на каждой из иттераций цикла вы открываете один и тот-же файл 'file.txt' а затем ПЕРЕЗАТИРАЕТЕ все, что в нем было до того, задав метод записи 'w'. Измените 'w' на 'a' и будет вам счастье.
P.S. По ходу даже не стал разбираться, зачем вы каждый раз открываете файл по-новой. Почему ельзя его открыть его один раз и писать туда все что вам надо, а закрыть его в самом конце. Но вы об анализе кода не спрашивали - поэтому даю наводку. А далее думайте сами.
P.P.S. Еще раз взглянул на код. Два вложенных цикла for, в каждом из них в качестве переменной цикла используется переменная i. Это жах. Может начать с чтения учебника все таки?