百度圖片
阿新 • • 發佈:2021-06-30
問題成因:喜歡在百度稿子裡,搞資料,但VIP,大家都懂。則看原始碼,想全部找到。可是看 一個ppt文件, 裡面都是連線,發現都是圖片,單獨點選連線能開啟圖片。
恍然大悟。粘出來的 連線 是 <img .... ;
</div> <div> 混雜的,則寫了個 小 C程式,處理了一下。
#include<stdio.h> int main(){ int i,j; char c1,c2,c3,c4; freopen("jt.txt","r",stdin); freopen("jto.txt","w",stdout); while(1){ scanf("%c",&c1); if(c1=='<') { scanf("%c%c%c",&c2,&c3,&c4); if(c2=='t' && c3=='i' && c4=='g') // <tig 挺 break; else if(c2=='i' && c3=='m' && c4=='g') {//想要的 printf("<img ") ; while(1){ scanf("%c",&c1); if(c1 == '>') {printf(">\n");break; } else printf("%c",c1); } } else{ ////// </div> <div> while(1) { scanf("%c",&c1); if(c1== '>') break; } } } } return 0; }
整理成<img src=" "> 的情形。接下來就簡單了,貼上到Excel裡,資料分列,就得出來 純的 圖片網頁連線,沒錯接下來就是利用 Python urllib 及 cv2 來顯示儲存圖片。
其實 找到網頁原始碼裡的 <img 時考慮直接 新建 html 沾到 <body >裡顯示,但出不來,只有3張,不知為何。
import numpy as np import urllib.request import xlrd import cv2 wb = xlrd.open_workbook("tp.xlsx") biao = wb.sheet_by_name("Sheet1") for i in range(biao.nrows ): lj = biao.row_values(i)[0] resp = urllib.request.urlopen(lj) image = np.asarray(bytearray(resp.read()),dtype="uint8") image =cv2.imdecode(image,cv2.IMREAD_COLOR) # cv2.imshow("Image",image) mz = str(i) + ".jpg" cv2.imwrite(mz,image) cv2.waitKey(0)
一個迴圈,用個 xlrd 然後 imwrite ,儲存了 這些圖片,連線一共有一百多條,但圖片只出來了九十幾張,
不管了 不求不求甚解。費時 一中午。自我感覺良好,謝謝!獻醜