⌨️"願 編 程 帶 給 你 快 樂 >_" ⌨️
Quizlet是一款主打個性化學習的軟體,在軟體裡可以通過創建不同『學習集』對各個科目進行管理,並且還支持分享學習集。
簡單來說就是給自己製作學習小卡片,然後軟體通過各種不同的記憶方式如配對,書寫(打字輸入)等形式進行學習。
學習卡片長這樣:
之前我有用過一個叫做『扇貝』的單詞軟體,但是裡面的單詞書都是別人整理好的,對於某一專業領域的單詞而言不是特別有針對性,而且學習的方式也比較單調枯燥。我這次要準備的是計算機相關的英語單詞,去扇貝上看了看沒有找到特別合適的單詞書,所以就選擇Quizlet自己做小卡片。上面也提到了,Quizlet中有配對的小遊戲,推薦大家第一遍過的時候可以用這種消消樂的形式來快速記憶,到第二遍的時候可以選擇直接過卡片做標記,第三遍再嘗試手打,這樣會是一個比較高效的學習方式。看了看wordlist裡面的700+詞彙,這軟體好像瞬間就不香了啊但是作為一個倔強Boy
我怎麼可能輕易認輸呢!?
Quizlet主打的一個賣點就是多平臺同步,所以可以在網頁上登陸對『學習集』進行編輯既然有網頁版那麼我們就依葫蘆畫瓢,做一個自動添加wordlist的python腳本!本期內容的代碼我上傳到了github,以後的一些代碼也會直接上傳方便大家取用https://github.com/dannyzhang1996/QuizletWordImport思路非常簡單,利用pandas將csv檔中的wordlist轉化為numpy數組對象,然後用selenuim自動測試工具打開Chrome,登陸,打開『學習集』,利用循環進行wordlist的添加操作,幾分鐘後一個嶄新的wordlist就填滿啦,真香!核心Python代碼實現如下:
from selenium import webdriverimport numpy as npimport pandas as pdimport time
data = pd.read_csv('wordlist.csv') raw = data.to_numpy()raw = raw[1:, :]
browser = webdriver.Chrome()browser.get('https://quizlet.com/zh-cn')time.sleep(2)login = browser.find_element_by_xpath('//*[@id="SiteHeaderReactTarget"]/header/div[1]/div/div[2]/span[2]/div/div[3]/div/button[1]')login.click()loginbt = browser.find_element_by_xpath('/html/body/div[7]/div/div[2]/form/button')loginbt.click()studyset = browser.find_element_by_xpath('//*[@id="DashboardPageTarget"]/div/section[2]/div/div[2]/div/div/div/div[1]/div[2]/div[1]/div/div/div/div[2]/a')studyset.click()edit = browser.find_element_by_xpath('//*[@id="SetPageTarget"]/div/div[1]/div[3]/div[1]/div/div/section/div/div[1]/div/div[1]/span/span/a')edit.click()for items in raw: tmpCN = items[1] tmpEN = items[0] add = browser.find_element_by_xpath('//*[@id="addRow"]/span/button') add.click() input_CN = browser.find_elements_by_xpath("//*[@contenteditable='true']") lasttwo = input_CN[-2] lastone = input_CN[-1] lasttwo.send_keys(tmpCN) lastone.send_keys(tmpEN) time.sleep(1)
這裡我們尋找頁面元素的時候直接簡單粗暴使用了xpath路徑,在chrome瀏覽器中打開調試模式後直接右鍵複製即可。學習編程的一大樂趣就是利用編程省去了很多機械、繁瑣的工作,我對哈利波特電影裡的這個情節印象特別深刻:不知道你第一次體驗到編程實現腳本帶來的快樂時是不是也是這個心情呢?編程之於我就像是一把打開魔法世界的鑰匙,在另一個世界裡充滿了無限的可能,這也是我一直以來學習編程的動力來源,希望能把我的快樂分享給大家,每天進步一點點 >_⌨️"願 編 程 帶 給 你 快 樂 >_" ⌨️
Wechat | Lelemixzhang
github | dannyzhang1996
Follow me
要恰飯的嘛