import requests
from bs4 import BeautifulSoup
from lxml import html
import csv
headers = {'user-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
}
url = 'https://opi.dfo.kz/p/ru/DfoObjects/objects/teaser-view/25720?RevisionId=0&ReportNodeId=2147483637&PluginId=6c2aa36248f44fd7ae888cb43817d49f&ReportId=61005620'
response = requests.get(url,headers=headers)
file = open('data.csv','w') # Открываем файл на запись. Можно было использовать контекстный менеджер, но так думаю проще.
writer = csv.writer(file) # Передаем в функцию writer дескриптор открытого файла.
soup = BeautifulSoup(response.text,"html.parser")
rows = soup.find('table',class_='dsnode-table').find('tbody').find_all('tr') # Ищем в html тег 'table' с классом 'dsnode-table',
# далее в найденом ищем тег 'tbody' и наконец ищем все теги 'tr'. Тег 'tr' в html это тег строки таблицы. В результате, в rows
# у нас окажутся все теги 'tr', тоесть все строки таблицы.
for row in rows: # Проходимся по всем строкам. При каждой итерации, в row у нас будет следующая строка таблицы, вместе с html тегами.
columns = row.find_all('td') # Ищем в текущей строке таблици все теги 'td'. В html td - это тег ячейки.
data_list = [columns[0].text,columns[1].text,columns[2].text,columns[3].text,columns[4].text,columns[5].text,columns[6].text,columns[7].text,columns[8].text]
# Так как в каждой строке 9 ячеек, а элементы списка в большинстве ЯП нумеруюются с нуля, то мы можем обратится к конкретной ячейке
# текущей строки по индексу. Первая ячейка будет columns[0], а последняя, тоесть девятая - columns[8]. Создаем список 'data_list',
# и заносим в него все ячейки текущей строки. Но, так как в columns кроме текстовых данных также присутствуют html теги, мы обращаемся
# к свойству .text, что-бы получить сам текст, без тегов.
writer.writerow(data_list) # Записываем текущую строку в csv файл.
# Далее цикл продолжается, пока не достигнет конца таблицы(условно, так как все строки таблици мы уже получили, и они хранятся в 'rows')
file.close() # Так как мы не используем контекстный менеджер with, обязательно закрываем открытый файл.
Сколько искал, не смог найтиЯ просто скопировал ваш вопрос, и вставил в google:
import requests
from bs4 import BeautifulSoup
response = requests.get("https://www.animag.ru/news")
soup = BeautifulSoup(response.text,"html.parser")
all_news = soup.find('section',id = 'block-views-articles-wall-block-1').find_all('div',class_='views-row')
for new in all_news:
title = new.find('h3').a.text
description = new.find('div',class_='views-field views-field-nothing-5').text.strip()
image = new.find('img',class_='img-responsive').get('src')
dates = new.find('div',class_='col-md-5 col-xs-12').text
views = new.find('div',class_='col-md-4 col-xs-12').text
print(f'Заголовок: {title} \nОписание: {description} \nКартинка: {image} \nДата {dates} \nПросмотров: {views}')
print('*'*40)
Заголовок: Новое OVA "Boku no Hero Academia"
Описание: 16 и 30 августа на японских спутниковых каналах выйдет бонусный эпизод "My Hero Academia". Эпизод носит название "Boku no Hero Academia: Ikinokore! Kesshi no Survival Kunren".
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/562758206.jpg?itok=qoea2QxG
Дата авг 03, 2020
Просмотров: 26
****************************************
Заголовок: Новые трейлер и постер мувика "Kimetsu no Yaiba: Mugen Train"
Описание: Представлены новые трейлер и постер мувика "Kimetsu no Yaiba: Mugen Train". Премьера 16 октября.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1440896367.jpg?itok=k9qLT90h
Дата авг 02, 2020
Просмотров: 137
****************************************
Заголовок: Дата выхода мувика "Fate/Grand Order: Camelot -Wandering; Agateram"
Описание: "Fate/Grand Order: Camelot -Wandering; Agateram", первый мувик из дилогии "Fate/Grand Order", выйдет на экраны 5 декабря.
Ранее планировалось выпустить его в мае.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/863073178.jpg?itok=zuWMas5_
Дата авг 02, 2020
Просмотров: 108
****************************************
Заголовок: Анонсирован третий сезон "Yuuki Yuuna wa Yuusha de Aru"
Описание: Вышел анонс третьего сезона "Yuuki Yuuna wa Yuusha de Aru", который выйдет под названием "Yuuki Yuuna wa Yuusha de Aru: Dai Mankai no Shou".
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/367416836.jpg?itok=ce2oEykH
Дата авг 02, 2020
Просмотров: 63
****************************************
Заголовок: "Tonikaku Kawaii" выйдет 3 октября
Описание: Названа дата премьеры романтической комедии "Tonikaku Kawaii", сериал стартует 3 октября.
Выпускает аниме Seven Arcs.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1943112195.jpg?itok=u74rsoMT
Дата авг 02, 2020
Просмотров: 56
****************************************
Заголовок: Дата выхода "Nanatsu no Taizai: Fundo no Shinpan"
Описание: "Nanatsu no Taizai: Fundo no Shinpan", четвертый сезон "Nanatsu no Taizai", выйдет в январе 2021 года.
Трансляция была перенесена из-за эпидемии.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1769628237.jpg?itok=n4vP0xNY
Дата авг 02, 2020
Просмотров: 71
****************************************
Заголовок: Анонс аниме по манге "Mashiro no Oto"
Описание: По манге "Mashiro no Oto" Маримо Рагава (Marimo Ragawa) выйдет аниме. Пока без подробностей.
Премьера весной 2021 года, производством аниме займётся студия Shinei Animation.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1194794348.jpg?itok=LwQDdGGI
Дата авг 01, 2020
Просмотров: 107
****************************************
Заголовок: Netflix анонсировал аниме по игре "Splinter Cell"
Описание: Вышел анонс от сервиса Netflix об аниме-экранизации игры "Splinter Cell".
Планируется выпустить 16-эпизодный сериал.
Сценаристом и исполнительным продюсером заявлен Дерек Колстад, сценарист и...
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1300066672.jpg?itok=zdEzF5d6
Дата июл 31, 2020
Просмотров: 177
****************************************
Заголовок: Немного подробностей "Dogeza de tanondemita"
Описание: Появились скупые новости о сериале "Dogeza de tanondemita".
Во-первых, он будет короткометражным.
Во-вторых, названа часть команды. Также представлен постер.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1534594593.jpg?itok=L_zSFwD5
Дата июл 30, 2020
Просмотров: 147
****************************************
Заголовок: Пополнение каста сериала "Magatsu Wahrheit: Zuerst"
Описание: Названы сейю, что присоединились к касту сериала "Magatsu Wahrheit: Zuerst".
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/449125141.jpg?itok=Ybpk5SLJ
Дата июл 29, 2020
Просмотров: 111
****************************************
Заголовок: Анонс аниме по манге "Yakunara Mug Cup Mo"
Описание: Вышел анонс аниме по манге "Yakunara Mug Cup Mo".
Выпустит аниме Nippon Animation.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/11760665.jpg?itok=iYELktH1
Дата июл 29, 2020
Просмотров: 156
****************************************
Заголовок: Новый трейлер "Kurayukaba"
Описание: Сегодня был представлен новый кусок анимационного фильма "Kurayukaba".
Начался второй этап сбора средств на краундфантинг-платформе.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1246923714.jpg?itok=C_g4RNen
Дата июл 28, 2020
Просмотров: 145
****************************************
Заголовок: Новый трейлер "Shikizakura" с музыкой из опенинга
Описание: Вышел трейлер НФ-сериала "Shikizakura", представляющий композицию "BELIEVE MYSELF" в исполнении Asaka, которая прозвучит в опенинге.
Девушка исполняла песню в эндинге "ISLAND".
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1579333846.jpg?itok=vxbAFAQ-
Дата июл 28, 2020
Просмотров: 135
****************************************
Заголовок: Анонс аниме по манге "Dogeza de Tanondemita"
Описание: Вышел анонс аниме по веб-манге"Dogeza de Tanondemita" Кадзуки Фунацу (Kazuki Funatsu).
Опять, судя по всему, недохентай ночного блока.
Пока без подробностей.
Герой истории на коленях умоляет девушек...
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/1127721476.jpg?itok=do8yKGzc
Дата июл 28, 2020
Просмотров: 256
****************************************
Заголовок: Новая дата премьеры "Ochikobore Fruit Tart"
Описание: Представлен новый постер сериала "Ochikobore Fruit Tart". Также названа дата премьеры - октябрь. Изначально хотели выпустить сериал в июле.
Картинка: https://www.animag.ru/sites/default/files/styles/manual/public/cover/news/2020/753383095.jpg?itok=mSyf4crw
Дата июл 27, 2020
Просмотров: 116
****************************************
>>>
import requests
from bs4 import BeautifulSoup
response = requests.get('https://mp3-fm.site/')
soup = BeautifulSoup(response.text,"html.parser")
playlist = soup.find('div',id='xx1').find_all('div',class_='song')
for song in playlist:
title = song.find('div',class_='title').text.strip()
url = song.find('button',class_='btn btn_play').get('data-norber')
response2 = requests.get(url)
print(f'Download: {title}')
with open(title+'.mp3','wb') as file:
file.write(response2.content)
import requests
from bs4 import BeautifulSoup
response1 = requests.get('https://oxy.fm/')
soup = BeautifulSoup(response1.text,"html.parser")
playlist = soup.find('ul',class_='playlist').find_all('li')
for song in playlist:
title = song.find('span',class_='playlist-name-title').text
artist = song.find('span',class_='playlist-name-artist').text
url = song.find('a',class_='playlist-play no-ajax').get('data-url')
response = requests.get(url)
with open(f'{artist}-{title}.mp3','wb') as file:
file.write(response.content)
print(f'Download {artist}-{title}')
как работает инжектор.
import requests
cookies = { 'csrftoken': 'ЦиферкиБуковки'}
headers = { 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36',
'Referer': 'https://ycharts.com/login?next=/dashboard/',
}
data = {
'csrfmiddlewaretoken': 'ЦиферкиБуковки',
'username': 'Почта',
'password': 'Пароль'
}
response = requests.post('https://ycharts.com/login', headers=headers, cookies=cookies, data=data)
print(response.text)
import json
import requests
response = requests.get('https://minfin.com.ua/api/currency/ratelist/?currency1=usd¤cy2=uah&converter_type=midbank')
json_data = json.loads(response.text)
sell = json_data['data']['rates']['sell']
for key in sell:
print(key, '->', sell[key])
USD -> 27.5000
UAH -> 1
RUB -> 0.3600
EUR -> 32.0000
PLN -> 6.8000
GBP -> 34.0000
CZK -> 1.0000
CNY -> 3.0000
BYN -> 12.5000
KZT -> 0
Bad Request: method is available only for supergroupsПлохой запрос. Метод доступен только для супергруп.
Неверный запрос. Метод доступен только для супергруп.- немного изменил перевод, так как "некоторые" пользователи не понимают перевод выше(может IT это не для них?) ¯\_(ツ)_/¯