Змея / Говнокод #27257 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
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, и я немного опоздал )))

И я решил написать на питоне штуку, чтобы она мне за ночь прокрутила весь список песен, а я бы потом распарсил страничку и достал названия. кто найдёт пасхалку -- тот молодец!

Запостил: JloJle4Ka JloJle4Ka, (Updated )

Комментарии (15) RSS

    • Добрый вечер, OCETuHCKuu_nemyx, ну что, перепишем этот код на «Delphi»?
      Ответить
      • Борланд паскаль, золотой язык моего детства.. первая змейка, первая сортировка пузырьком, первый арканоид.. и всё запаганили каким-то вонючим стертором!
        Ответить
  • двадцать лет назад я делал макрос для ворда. Я запустил режим записи, он сгенерировал код для моих действий на VB. А дальше я его поправил.

    Теперь пишут это вручную. ДВадцать лет регресса
    Ответить
      • Selenium умеет записывать рази?

        На самом деле VBA конечно лучше, потому что он работал с документированными объектами, а не вот с этим вот
        >a[class='show_more AudioSection__showMore--my']
        Ответить
        • Может и не умеет конечно.

          Но многие другие тулы для UI тестов умеют
          Ответить
          • > selenium ide

            Хочу, чтобы для каждой либы была своя ИДЕ:
            1. QtCreator IDE
            2. Boost::IDE
            3. Asio IDE
            4. WxIDE
            5. GK IDE (для написания комментариев на говнокод)
            6. IDE чтобы продолжить этот список, а то я устал.
            Ответить
  • Пока меня не было, говнокод лютовал. Я вернулся - но говнокод продолжает лютовать...
    Быть может, зря я так обиженку подрубил? Может, не стоило?
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8