原创 使用lxml去除html中的tag得到純文本

主要使用lxml.html.document_fromstring()實現。

原创 多線程間變量的共享

寫python程序的時候遇到了共享變量的問題,在網上看到了一篇講java多線程變量共享的文章,有共通之處,整理下發在這裏吧。 1.方法體內部定義的局部變量不共享。 這是因爲方法內部定義的變量是在運行時動態生成的。每個線程都有一個自己的堆棧

原创 python三行實現快排

# Quick Sort in 3 lines def qsort(L): if len(L) <= 1: return L return qsort([lt for lt in L[1:] if lt < L[0]]) + L[

原创 python中的json模塊介紹

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,其最廣泛的應用是作爲AJAX中web服務器和客戶端的通訊的數據格式。json類似於xml,但比 XML 更小、更快,更易解析。 簡單來講,jso

原创 python內置模塊urlparse解析url

寫檢索作業的時候遇到了操作url的問題,發現urlparse內置模塊提供了一些幫助。

原创 解決wsl無法同步本地代理的dns信息

問題 本地開了公司的vpn,使用vscode的remote wsl插件連接wsl1,結果wsl裏面無法解析公司內部的一些域名,查了下發現原來是wsl無法自動同步本地代理的dns信息。 wsl2沒有這個問題,又是wsl1的坑。 解決

原创 golang 變量作用域

目錄局部變量全局變量參數變量 局部變量 定義:在函數或者在語義塊(if/for等)中定義的變量 生效範圍:定義在函數裏面則在整個函數範圍有效; 定義在語義塊,則在整個語義塊生效 實例: // str定義在函數內,是一個局部變量

原创 python拷貝對象

在python中複製變量時應當注意,Python中的對象之間賦值時是按引用傳遞的,如果需要拷貝對象,需要使用標準庫中的copy模塊。 1. copy.copy 淺拷貝 只拷貝父對象,不會拷貝對象的內部的子對象。 2. copy.deepc

原创 VSCode Remote WSL: unable to rename folder (rename xxx permission denied)

問題 使用vscode remote wsl安裝go tools,報類似rename xxx permission denied的錯誤。 檢索發現時wsl1的問題,具體可見remote wsl不能重命名文件夾。 解決方法 參見官方

原创 Go安裝第三方庫時的網絡問題解決

問題簡述 由於防火牆的存在,在使用golang下載第三方包時經常會遇到網絡問題而下載失敗。如在golang.org網站下的包,大多數都無法安裝。 解決方法 使用代理 (http_proxy=xxxx) 手動去github中搜索相

原创 字符編碼相關概念理解

前兩天看了一篇講python編碼的文章,感覺收穫了不少,裏面提到了幾個概念,感覺對理解編碼很有幫助。 字符序列:"禪" 字節序列: \xec\xf8(十六進制);11101100 11111000(二進制) 編碼:禪(字符)→11101

原创 python多線程-threading模塊

threading通過對thread模塊進行二次封裝,提供了更方便的API來操作線程。本文對threading常用部分進行介紹。   創建線程 1.通過繼承Thread類,重寫它的run方法 #-*-coding:utf-8 -*-

原创 python提交表單時屬性名重複問題的解決

寫爬蟲時會遇到提交表單的問題,一般先構造data,然後利用post方式進行提交表單。一般data的數據類型爲字典,但當遇到多個數據項的屬性名字重複時,則不能夠使用字典了,因爲字典中的鍵是不能夠重複的。對於這個問題的解決可以使用,列表+元組

原创 IO密集型vs計算密集型

經常聽到別人說python多線程針對io密集型任務可以提升效率,而針對計算密集型則沒有什麼效果,那麼什麼是IO密集型和計算密集型呢? 任務類型可以分爲計算密集型和IO密集型。 計算密集型任務的特點是要進行大量的計算,消耗CPU資源,比如計

原创 python datetime模塊處理時間

寫程序時遇到了記錄日期、時間,比較時間早晚的需求,考慮用datetime模塊來實現。     datetime模塊定義了下面這幾個類: datetime.date:表示日期的類。常用的屬性有year, month, day; datet