下載Python3:https://www.python.org/
安裝的時候記得勾選添加環境變量
本代碼參考了網上的一些教程,我又根據自己的理解簡化了代碼:
import re,os,randomimport urllib.requestos.mkdir('mm')os.chdir('mm')#請求頭head={}head['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'#設置網站起始頁碼cou=2350while True: strcou=str(cou) cou=cou+1 #網站首頁地址 url2='http://jandan.net/ooxx/page-'+strcou+'#comments' a=urllib.request.Request(url2,data=None,headers=head) res=urllib.request.urlopen(a).read().decode('utf-8') #正則表達式匹配網址 a=re.findall(r'//wx+.+?.jpg',res) #去掉列表中重復的網站點 ll=list(set(a)) #計算列表中有多少個網站 b=len(ll) c=b-1 while True: #隨機生成兩個數字用于圖片命名 cc=str(random.randint(1,200)) dd=str(random.randint(1,200)) #這個是圖片地址 url='http:'+a[c] resp=urllib.request.Request(url,data=None,headers=head) res=urllib.request.urlopen(resp).read() #保存圖片 with open(cc+dd+'.jpg','wb') as f: f.write(res) c-=1 if c==0: break導入必要的模塊
import re,os,randomimport urllib.request在當前工作目錄創建文件夾,名字為mm
os.mkdir('mm')os.chdir('mm')#請求頭,如果不加請求頭的話,服務器就會判定這是一個非人類訪問。訪問一些網站將會被服務器拒絕head={}head['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'如下就是不加請求頭的報錯:#設置網站起始頁碼 網站原始首頁http://jandan.net/ooxx/page-2379#comments
2379就是包含在網站里的頁碼,改變這個數字,瀏覽器顯示的圖片就不一樣了,就是利用這一點,就可以每一次循環改變網站的地址獲取不同的圖片cou=2379第一個循環代表獲取不同的圖片while True:#cou是數字類型,需要把它轉換成字符類型填寫在網址中 strcou=str(cou)#每一次循環訪問頁面,就在原來的頁碼上加1 cou=cou+1 #網站首頁地址 url2='http://jandan.net/ooxx/page-'+strcou+'#comments' a=urllib.request.Request(url2,data=None,headers=head) res=urllib.request.urlopen(a).read().decode('utf-8') #正則表達式匹配網址,獲取該頁面所有以//wx開頭以.jpg結尾的url,這個url就是圖片的地址a=re.findall(r'//wx+.+?.jpg',res) #去掉列表中重復的網站點 ll=list(set(a)) #計算列表中有多少個網站 b=len(ll) c=b-1
第二個循環代表獲取頁面的url:while True: #隨機生成兩個數字用于圖片命名 cc=str(random.randint(1,200)) dd=str(random.randint(1,200)) #這個是圖片地址 url='http:'+a[c] resp=urllib.request.Request(url,data=None,headers=head) res=urllib.request.urlopen(resp).read() #保存圖片 with open(cc+dd+'.jpg','wb') as f: f.write(res) c-=1 if c==0: break爬取的圖片:
新聞熱點
疑難解答