【神器】畢業生的法寶,論文一鍵降重~!

【神器】畢業生的法寶,論文一鍵降重~!


對代碼、編程感興趣的能夠關注老K玩代碼和我交流!
【神器】畢業生的法寶,論文一鍵降重~!前端

【神器】畢業生的法寶,論文一鍵降重~!


「聲明:本文旨在技術分享,謝絕以此投機取巧~!
  • 面臨畢業的學生,必定有過被查重支配的恐怖經歷。萬方、turnitin、知網、PP、PT,每一個平臺的查重率不一而同。
  • 最無奈的是學校對重複率的要求頗高,越是頂尖的學校,對查重的要求就更高。

  • 本人已經畢業十餘年,往往回想起爲了論文的重複率徹夜苦熬,就不由毛骨悚然。
  • 如今好了,只要淘寶一下,就有各類各樣的降重服務。引發我注意的,是一個叫作「AI降重軟件」的工具。
  • 出於好奇,我花了點本錢,把軟件買了一下,而後研究了一下它背後的代碼邏輯。web

    【神器】畢業生的法寶,論文一鍵降重~!

  • 其實所謂的AI降重,本質上就是經過翻譯軟件,從中文翻譯成外語,而後在翻譯回來。這樣語義保持不變,但文本上看起來已經變成另一種表述了。
  • 以爲這個思路仍是挺有意思的,便本身着手寫起了代碼:

    1. 導入須要的第三方庫


from selenium.webdriver import Chrome
  • 本次會用到的是selenium的庫。它須要搭載webdriver才能運行,能夠谷歌搜索一下「webdriver chrome」這個關鍵詞,通常第一個就是了。
  • 把webdriver安裝在腳本文件所在目錄便可。

    2. 對模擬瀏覽器作一下初始化設置


dr = Chrome()
dr.implicitly_wait(5)
dr.maximize_window()
  1. 以上是我對瀏覽器的基本設置。
    • 若是喜歡無瀏覽器模式的話,可使用下面這段代碼
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
dr = Chrome(options=options)
dr.implicitly_wait(5)
dr.maximize_window()

3. 檢查翻譯軟件的請求借口


【神器】畢業生的法寶,論文一鍵降重~!

  • 我是以百度翻譯爲樣例。

從上述截圖,咱們能夠看出,百度翻譯的藉口很是簡潔,使用get方式寫成的。圖中zh就是輸入語言名,en就是輸出語言名,url連接最後就是須要翻譯的文本內容。因而咱們的請求代碼就能夠寫成這樣chrome

url = f"https://fanyi.baidu.com/#{input_lang}/{output_lang}/{text}"
dr.get(url)

4. 得到翻譯文本


發出請求後,等待幾秒,等頁面打開後,將相應的翻譯文本保存到變量中
text = dr.find_element_by_class_name("target-output").text.strip()
不一樣的翻譯工具,藉口和解析路徑不一樣。仍是須要一些前端的選擇器知識才行。編程

5. 用翻譯工具譯回中文


這一步其實就是以前內容的重複,惟一區別就是把輸入語言和輸出語言進行對換。這裏就再也不重複展現代碼了。瀏覽器

ex. 總結


以上說起的代碼內容,僅用於展現和分享做業思路。完整代碼以下:less

# encoding: utf-8
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options

def do_repetition(text):
    options = Options()
    options.add_argument('--headless')
    dr = Chrome(options=options)
    dr.implicitly_wait(5)
    dr.maximize_window()

    for i in range(2):
        if i == 0:
            input_lang = 'zh'
            output_lang = 'en'
        else:
            input_lang = 'en'
            output_lang = 'zh'
        url = f"https://fanyi.baidu.com/#{input_lang}/{output_lang}/{text}"
        dr.get(url)
        text = dr.find_element_by_class_name("target-output").text.strip()
    dr.close()
    return text

若是想要真正實現文本降重的功能,可能還須要在細節上打磨一下,諸如:ide

  • 等待響應的時長設計;
  • 請求失敗的處理;
  • 特殊字符的處理;
  • 文本和圖片的處理;
  • 文本格式的設置;
  • 回車換行的處理;
  • 專有名詞的約束條件;
  • 引用摘抄文本保持不變的需求等...
    要真正實現一鍵對論文降重,還有不少細節要處理。
    我在這裏不詳細分享更細節的代碼,也不鼓勵用這種投機取巧的方法對待學術研究。
    但願本文能給到技術同行以啓發。

往期精彩推薦:


  • 11本推薦新手自學入門Python的必看書目
  • 你必須知道的18個Python開源庫
  • 學好JavaScript基本功,老K推薦這幾本書
  • 深度學習,你們都看哪些社區論壇?
  • 【熱薦】必須推薦的7個Python深度學習項目

粉絲福利:


  • 閱讀、分享《學好JavaScript基本功,老K推薦這幾本書》,有機會得到《JavaScript高級程序設計》1本
  • 閱讀、分享《11本推薦新手自學入門Python的必看書目》,有機會得到《Python核心編程》1本
    【神器】畢業生的法寶,論文一鍵降重~!
相關文章
相關標籤/搜索