Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--incognito')
driver = webdriver.Chrome(chrome_options=chrome_options)
#Login.
driver.get("https://m.vk.com")
email = 'не скажу!'
password = '123'
email_field = driver.find_element_by_name("email")
email_field.send_keys(email)
password_field = driver.find_element_by_name("pass")
password_field.send_keys(password, Keys.RETURN)
#Scrolling audios.
driver.get("https://m.vk.com/audio76306432")
songs_amount = 6200
batch_amount = 20
currently_loaded = 0
while currently_loaded < songs_amount:
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')
try:
WebDriverWait(driver, 0).until(EC.presence_of_element_located((By.CSS_SELECTOR, "a[class='show_more']")))
print('Click')
except:
print('More button not located!')
print(f"{currently_loaded} / {songs_amount}")
try:
scroll_defence_element = driver.find_element_by_css_selector("a[class='show_more AudioSection__showMore--my']")
scroll_defence_element.click()
print('Click!!!')
except:
print("No button to click")
currently_loaded += batch_amount
#todo: save the page
#time.sleep(10)
#driver.quit()
Я уже давно хотел себе скачать аудио из вк, хотя бы их список, мало ли что... В общем, оказалось, что апи для музыки закрыли в 2016, и я немного опоздал )))
И я решил написать на питоне штуку, чтобы она мне за ночь прокрутила весь список песен, а я бы потом распарсил страничку и достал названия. кто найдёт пасхалку -- тот молодец!
Борланд паскаль, золотой язык моего детства.. первая змейка, первая сортировка пузырьком, первый арканоид.. и всё запаганили каким-то вонючим стертором!
На самом деле VBA конечно лучше, потому что он работал с документированными объектами, а не вот с этим вот
>a[class='show_more AudioSection__showMore--my']
Но там нетривиальная питушня. Если быстро скроллить, то вк окукливается и вместо бесконечного скролла выдаёт кнопку "показать ещё", при этом до такого кейса ещё доскроллить нужно, в итоге мокрос большой получится. Да и сложно всё это, легче сразу написать самому.
Хочу, чтобы для каждой либы была своя ИДЕ:
1. QtCreator IDE
2. Boost::IDE
3. Asio IDE
4. WxIDE
5. GK IDE (для написания комментариев на говнокод)
6. IDE чтобы продолжить этот список, а то я устал.
блядь, это же осетия
Теперь пишут это вручную. ДВадцать лет регресса
На самом деле VBA конечно лучше, потому что он работал с документированными объектами, а не вот с этим вот
>a[class='show_more AudioSection__showMore--my']
Но многие другие тулы для UI тестов умеют
Оказывается, умеет!
Но там нетривиальная питушня. Если быстро скроллить, то вк окукливается и вместо бесконечного скролла выдаёт кнопку "показать ещё", при этом до такого кейса ещё доскроллить нужно, в итоге мокрос большой получится. Да и сложно всё это, легче сразу написать самому.
а уже написали
Хочу, чтобы для каждой либы была своя ИДЕ:
1. QtCreator IDE
2. Boost::IDE
3. Asio IDE
4. WxIDE
5. GK IDE (для написания комментариев на говнокод)
6. IDE чтобы продолжить этот список, а то я устал.
Быть может, зря я так обиженку подрубил? Может, не стоило?