задача
- текстовая строка посылается запросом на вебсайт
- результат (ответ вебсайта) считывается в локальный файл
- локальный файл обрабатывается / парсится в список
.
программа работает, выдает удовлетворительные результаты
1. пожста помогите указать что я сделал неправильно или что нужно оптимизировать
2 как мне сделать всё то же самое на лету, не записывая считанный ответ вебсайта в файл?
заранее благодарю
.

# функция для отправки веб запроса и записи результатов в файл def fg_list_bot(_name_element, _output_file): s = requests.Session() _data = {"value": _name_element, "submit": "SEARCH"} r = requests.post(_url, data=_data) with open(_output_file, "w") as f: f.write(r.text) print(r.status_code) # Функция для парсинга результатов def f_parse(_output_file): with open(_output_file) as f: soup = BeautifulSoup(f, "html.parser") i = 0 # необходимо пропустить первый цикл, иначе фигня лезет в данные spisok = [] # инициализация конечного массива subspisok = [] # инициализация промежуточного массива for _match in soup.find_all("tr"): # проходим по крупным блокам for _match1 in _match.find_all("td"): # проходим по мелким блокам внутри крупного _match2 = _match1.text.replace("\t","") # убираем знаки табуляции _match3 = _match2.split("\n") # делим строку на части _match4 = list(filter(None, _match3)) # убираем из списка пустые значения subspisok.append(_match4) if i > 0: spisok.append(subspisok) i += 1 subspisok = [] # обнуление промежуточного массива for i in spisok: # визуальная проверка результатов print(i) print("конец выполнения программы") import requests from bs4 import BeautifulSoup _url = "https://tools.filtrationgroup.com/index.php" _name_element = "RHR1300D" # текст запроса который посылаем в форму _output_file = "IDLE_pedrillo.html" fg_list_bot(_name_element, _output_file) f_parse(_output_file)
результат выполнения программы
[['Please Contact Us for a Part Number'], [], ['Please Contact Us for a Part Number'], [], ['RHR1300D03B'], [], []] [['Please Contact Us for a Part Number'], ['H1300RN1006AV'], ['Please Contact Us for a Part Number'], ['H1300RN1006AV'], ['RHR1300D05B'], [], []] [['72382226'], ['H1300RN1010OV'], ['72382226'], ['H1300RN1010OV'], ['RHR1300D10B5', 'RHR1300N10B5'], [], []] [['Please Contact Us for a Part Number'], ['H1300RN1025AV'], ['Please Contact Us for a Part Number'], ['H1300RN1025AV'], ['RHR1300D20B'], [], []]