import requests
from bs4 import BeautifulSoup
url = "https://vkusnoitochka.ru/menu"
requests = requests.get(url)
soup = BeautifulSoup(requests.text, 'html.parser')
menu = soup.find_all("div", class_="page-container")
for pos in menu:
pos = pos.find("ul")
print(pos.text)
Python
Парсер python работа со списками.
Парсер собирает информацию которую мне надо, но теперь мне надо убрать отсюда граммы и собрать все это в файл csv . Напишите как это можно сделать или скиньте сылку где это описано
Чтобы убрать граммы из текста и сохранить информацию в файл csv, вам потребуется использовать модуль csv.
Вот пример кода, который выполняет это:
import requests
from bs4 import BeautifulSoup
import csv
url = "https://vkusnoitochka.ru/menu"
requests = requests.get(url)
soup = BeautifulSoup(requests.text, 'html.parser')
menu = soup.find_all("div", class_="page-container")
data = [] # Создаем пустой список для хранения данных
for pos in menu:
pos = pos.find("ul")
items = pos.find_all("li") # Получаем все элементы списка
for item in items:
item_text = item.text.replace(" г", "") # Убираем " г" из текста
data.append(item_text) # Добавляем текст в список данных
# Записываем данные в файл csv
with open("menu.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["Menu Item"]) # Записываем заголовок
writer.writerows(data) # Записываем данные
print("Данные сохранены в файл menu.csv")
Этот код создает файл `menu.csv` и записывает туда все пункты меню в столбик. Заголовок столбца будет "Menu Item".
Вот пример кода, который выполняет это:
import requests
from bs4 import BeautifulSoup
import csv
url = "https://vkusnoitochka.ru/menu"
requests = requests.get(url)
soup = BeautifulSoup(requests.text, 'html.parser')
menu = soup.find_all("div", class_="page-container")
data = [] # Создаем пустой список для хранения данных
for pos in menu:
pos = pos.find("ul")
items = pos.find_all("li") # Получаем все элементы списка
for item in items:
item_text = item.text.replace(" г", "") # Убираем " г" из текста
data.append(item_text) # Добавляем текст в список данных
# Записываем данные в файл csv
with open("menu.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["Menu Item"]) # Записываем заголовок
writer.writerows(data) # Записываем данные
print("Данные сохранены в файл menu.csv")
Этот код создает файл `menu.csv` и записывает туда все пункты меню в столбик. Заголовок столбца будет "Menu Item".
Для того чтобы убрать граммы и собрать информацию в файл csv, вам следует выполнить несколько шагов. Предположим, что вы хотите сохранить данные в файл "menu.csv".
1. Импортируйте модуль csv:
```python
import csv
```
2. Создайте пустой список для хранения информации:
```python
data = []
```
3. Обработайте информацию, уберите граммы и добавьте данные в список:
```python
for pos in menu:
pos = pos.find("ul")
item = pos.text.replace(" гр.", "") # Убрать слово "гр."
data.append([item]) # Добавить данные в список
```
4. Сохраните данные в файл csv:
```python
with open('menu.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data)
```
Полный код:
```python
import requests
from bs4 import BeautifulSoup
import csv
url = " https://vkusnoitochka.ru/menu "
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
menu = soup.find_all("div", class_="page-container")
data = []
for pos in menu:
pos = pos.find("ul")
item = pos.text.replace(" гр.", "")
data.append([item])
with open('menu.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data)
```
Этот код сохранит данные без граммов в файл "menu.csv" в формате csv.
1. Импортируйте модуль csv:
```python
import csv
```
2. Создайте пустой список для хранения информации:
```python
data = []
```
3. Обработайте информацию, уберите граммы и добавьте данные в список:
```python
for pos in menu:
pos = pos.find("ul")
item = pos.text.replace(" гр.", "") # Убрать слово "гр."
data.append([item]) # Добавить данные в список
```
4. Сохраните данные в файл csv:
```python
with open('menu.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data)
```
Полный код:
```python
import requests
from bs4 import BeautifulSoup
import csv
url = " https://vkusnoitochka.ru/menu "
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
menu = soup.find_all("div", class_="page-container")
data = []
for pos in menu:
pos = pos.find("ul")
item = pos.text.replace(" гр.", "")
data.append([item])
with open('menu.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data)
```
Этот код сохранит данные без граммов в файл "menu.csv" в формате csv.
Алексей Викторович
Большое спасибо
Алексей Викторович
Да мне просто задание дали отпарсить ссылку на картинку, название ,цену и тд. Парсить каждую из этих частей я могу без проблем, но вот как их собрать в одно и при этом записать в файл хз.
Похожие вопросы
- Работа со списками Python. В одну строку.
- Python. Использование стандартных методов работы со списками(для чайников)
- Задача для Python. Работа с массивом чисел в файле.
- Проблема с программой типа "список" в Python
- Дан список чисел. Нужно посчитать количество их "пар" (т.е. "1 1 1 1 1" = 10, "1 2 3 2 3" = 2 и т.д.) (Python)
- Задача со списками, Python
- Как в python получить элемент из списка по нескольким значениям
- Заполнить двухмерный список случайными числами python
- Как объявить список определенной длины в Python?
- Окончил курсы на степике по Python что делать дальше?