圖床上傳工具下載資源順便為帶演示一下,F(xiàn)reebuf的評論比較開發(fā),可以匿名直接上傳圖片,并返回外鏈信息。圖床上傳工具下載可以來西西軟件園來下載使用,不過具體還是請看下方的教程吧。
介紹
下面來演示一下:
首先隨便打開一篇文章:
http://www.freebuf.com/articles/network/166702.html 就這篇了,這篇文章是我有史以來被噴的最多的一篇,特此記錄之,以激勵自己不斷學(xué)習(xí)進步。
然后鼠標(biāo)滾動到最下面的評論框,點擊插圖, 然后選擇一張圖片上傳,評論框會自動返回圖片的外鏈地址。
相關(guān)功能實現(xiàn)
Emmmm,由于是第一次寫自己的Python小工具,所以代碼看上去比較臃腫,一些Python的高級特性也沒有用上,然后有能力了再來修改。
上傳圖片
使用了requests模塊,其中post的地址是FreeBuf的公共上傳點。
1 2 3 4 5 6 7 8 | def upload(file_name): url = 'http://www.freebuf.com//buf/plugins/ueditor/ueditor/php/imageUp.php&post_id=' headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'} cookies ={ '3cb185a485c81b23211eb80b75a406fd':'1524312580', 'PHPSESSID':'lrps8el9u799le2agl56hhqlf0'} r = requests.post(url,headers=headers,cookies=cookies, files={'upfile' : open(file_name, 'rb')},) |
一個最基本的 HTTP 上傳請求,上傳的文件名是file_name,然后當(dāng)作參數(shù)傳遞給upload函數(shù)。
從剪貼板保存圖片
1 2 | def save_image(): os.system('xclip -selection clipboard -t image/png -o > /tmp/sqlsec.png') |
這里利用的是Linux下的xclip工具來操作剪貼板,然后將圖片保存到/tmp路徑下,放到這個臨時目錄的好處是:計算機下一次重啟的時候會清除這個目錄,這樣減少了垃圾的產(chǎn)生。
os.system("cat /etc/passwd")是Python下直接調(diào)用shell命令的一個規(guī)范。
提取圖片外鏈
由于服務(wù)器直接返回的地址如下:
所以得進行簡單的字符串提取,然后在拼接下。前期看這個返回結(jié)果 像是json格式,然后網(wǎng)上查了寫Python的json數(shù)據(jù)提取,emmm 居然失敗了,下次有機會再研究下。用正則把,也可以,但是苦逼的自己正則水平很菜,于是最后直接 僵硬地用了字符串截取來提出 關(guān)鍵數(shù)據(jù):
1 | url = '%s%s'%('http://image.3001.net/',str(r.text[8:42])) |
這里的str(r.text[8:42])),直接截圖字符串的9-43位,然后插入到http://image.3001.net/的后面,組成一個完整的圖片外鏈。
將 markdown 格式的外鏈拷貝到剪貼板
由于使用的是xclip第三方工具來操作剪貼板 ,所以直接拷貝到剪貼板有點僵硬,我是這么操作的。