天天看點

如何複制網頁上的任何内容(比如百度文庫)

目的

許多網頁都不允許複制,隻有進行開通VIP,注冊使用者,使用專業工具等才能完成ctrl+c和ctrl+v等簡單操作。本文提供了一種比較簡(cu)單(bao)的解決方案。

注意!

這篇文章話很直(bie)率(niu)!也不一定有效!甚至可能産生失誤!請謹慎閱讀!

原理(大神請略過)

Web頁面的結構是基于DOM樹的。Web的内容會在DOM節點上展現。隻要複制DOM節點上的内容,就可以擷取頁面上呈現的内容了。此外,一般的禁止複制都是用Javascript/CSS實作一些DOM屬性的控制,或者對copy事件的監聽。這可以有效地防止對web内容的直接複制,但不影響對部分DOM源代碼的閱讀。我們隻要從這些DOM源代碼裡提取文字内容,即可。

舉例(百度文庫)

如何複制網頁上的任何内容(比如百度文庫)

我們先選擇需要複制的内容,然後右鍵彈出菜單。

如何複制網頁上的任何内容(比如百度文庫)

這裡以Firefox 72 英文版為例,選擇“View Selection Source“(檢視選擇的源碼)。會彈出一個代碼視窗。

如何複制網頁上的任何内容(比如百度文庫)

Firefox已經幫我們将選擇的文字選擇了。即:

整理(為了友善閱讀,實際操作可省略),即:

<p class="reader-word-layer reader-word-s2-15 reader-word-s2-16"
style="width:4280px;height:180px;line-height:180px;top:2498px;left:2509px;z-index:201;letter-spacing:-0.38px;false">
	http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1
</p>
           

複制上圖

<p> ... </p>

标簽中的文字即可。得到:

http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1
           

其他頁面依次類推。

拓廣

實際應用中,可以編寫一個腳本之類的友善複制,直接View page source将所有的DOM code作為輸入然後輸出純文字内容。