国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3+urllib爬取海量精美圖片

2019-11-06 07:05:25
字體:
來源:轉載
供稿:網(wǎng)友

下載Python3:https://www.python.org/

安裝的時候記得勾選添加環(huán)境變量

本代碼參考了網(wǎng)上的一些教程,我又根據(jù)自己的理解簡化了代碼:

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'#設置網(wǎng)站起始頁碼cou=2350while True:    strcou=str(cou)    cou=cou+1    #網(wǎng)站首頁地址    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')    #正則表達式匹配網(wǎng)址    a=re.findall(r'//wx+.+?.jpg',res)    #去掉列表中重復的網(wǎng)站點    ll=list(set(a))    #計算列表中有多少個網(wǎng)站    b=len(ll)    c=b-1    while True:        #隨機生成兩個數(shù)字用于圖片命名        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,random
import urllib.request

在當前工作目錄創(chuàng)建文件夾,名字為mm

os.mkdir('mm')os.chdir('mm')#請求頭,如果不加請求頭的話,服務器就會判定這是一個非人類訪問。訪問一些網(wǎng)站將會被服務器拒絕
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'
如下就是不加請求頭的報錯:
#設置網(wǎng)站起始頁碼  網(wǎng)站原始首頁http://jandan.net/ooxx/page-2379#comments
2379就是包含在網(wǎng)站里的頁碼,改變這個數(shù)字,瀏覽器顯示的圖片就不一樣了,就是利用這一點,就可以每一次循環(huán)改變網(wǎng)站的地址
獲取不同的圖片
cou=2379
第一個循環(huán)代表獲取不同的圖片while True:
    #cou是數(shù)字類型,需要把它轉換成字符類型填寫在網(wǎng)址中    strcou=str(cou)
    #每一次循環(huán)訪問頁面,就在原來的頁碼上加1    cou=cou+1    #網(wǎng)站首頁地址       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')    #正則表達式匹配網(wǎng)址,獲取該頁面所有以//wx開頭以.jpg結尾的url,這個url就是圖片的地址
    a=re.findall(r'//wx+.+?.jpg',res)    #去掉列表中重復的網(wǎng)站點    ll=list(set(a))    #計算列表中有多少個網(wǎng)站    b=len(ll)    c=b-1
第二個循環(huán)代表獲取頁面的url:
    while True:        #隨機生成兩個數(shù)字用于圖片命名        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爬取的圖片:


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泽州县| 垣曲县| 梅州市| 察雅县| 崇仁县| 界首市| 海安县| 沁水县| 建水县| 饶阳县| 广德县| 陆川县| 永福县| 凤冈县| 湖南省| 墨玉县| 北辰区| 平陆县| 宾阳县| 宜都市| 宣化县| 都匀市| 抚远县| 策勒县| 从化市| 伊吾县| 广安市| 甘孜| 临沭县| 新晃| 明光市| 定日县| 鄂托克旗| 平远县| 巴东县| 扎赉特旗| 长宁县| 融水| 尚义县| 苏尼特左旗| 双流县|