如何在魔鏡歌詞網複製歌詞 - Chen Li-Chi (陳立其)

文章推薦指數: 80 %
投票人數:10人

$0 的可以利用JavaScript 讀出目前滑鼠選到的物件,在這裡指的是

這個在網頁上裝歌詞的容器,一旦選到後就可以使用 .innerText 把此容器內的文字印出。

GetstartedOpeninappChenLi-Chi(陳立其)SigninGetstarted112FollowersAboutGetstartedOpeninapp如何在魔鏡歌詞網複製歌詞ChenLi-Chi(陳立其)Jun10,2019·3minread我發現在我的Mac上面的Chrome無法複製魔鏡歌詞網的內容,原本以為他是鎖起來不想讓人複製,可是我試著用手機打開,發現居然可以用手機複製。

這也太奇怪了吧,於是就檢查看看有沒有什麼方便的方法可以用電腦複製。

我覺得這可能是歌詞網故意的行為,不想要讓別人太容易複製他們家的內容。

可是問題是這妨礙到的是一般的使用者,這些使用者的複製行為,理論上不影響歌詞網的獲利。

再說,真的要拷貝這種歌詞網來獲利的話,用爬蟲弄不是比較快嗎,才不會一個一個用滑鼠複製貼上呢。

因此我認爲這只是單方面傷害到喜歡歌詞網的用戶而已。

這篇文章是教學用途,如果魔鏡歌詞網盈利(歌詞網怎麼盈利我也很好奇)受到影響想請我下架這篇文章也行,我想喝清心福全。

PhotobyLeeCampbellonUnsplash一個複製歌詞的方法其實我也不知道他們是怎麼做到不讓人選取的的(我只看到有些詭異的eventlistener被加在,例如onCopy),如果有人知道細節歡迎留言討論。

但是根據觀察,可以知道這東西不是圖片,也就是說文字還在,依然有機會可以不透過OCR把歌詞抓下來的。

方法不唯一,我這裡使用的是innerText這個property來完成。

對著歌詞點下右鍵按下inspect或檢查在跳出來的視窗的最下方,在console裡面打入$0.innerText,然後按下enter歌詞就會在console裡面出現,你就可以在console裡面複製了實際上就像是下面這張圖這樣操作。

copyfromMogim原理$0的可以利用JavaScript讀出目前滑鼠選到的物件,在這裡指的是
這個在網頁上裝歌詞的容器,一旦選到後就可以使用.innerText把此容器內的文字印出。

事實上你也可以參考上次在兩倍速任意影片中所提到的選取法,也就是先使用DevTool左上角的箭頭選取工具選好,接著使用$0.innerText。

目前在這個歌詞網上,我注意到歌詞的部分是整個網頁中的
元素中排第四個的
,所以你可以使用下列指令在console上直接印出歌詞。

唯一的風險是,我們不能保證網頁結構在未來不會改變,歌詞的
元素永遠排在第四個。

$$('dl')[4].innerTextChenLi-Chi(陳立其)希望所有困難事都可以拆成簡單的事Follow88 8MorefromChenLi-Chi(陳立其)Follow希望所有困難事都可以拆成簡單的事


請為這篇文章評分?