国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 云梦县| 晋州市| 通辽市| 天门市| 门源| 贺州市| 桐柏县| 绥棱县| 株洲市| 梅河口市| 林西县| 隆昌县| 贡山| 原平市| 民勤县| 沙河市| 名山县| 五台县| 大厂| 商水县| 高密市| 炎陵县| 三都| 始兴县| 伊吾县| 饶河县| 当雄县| 沅陵县| 江孜县| 九台市| 资中县| 兴安县| 建宁县| 双柏县| 彭水| 花莲县| 永德县| 赣州市| 阜阳市| 永善县| 如皋市|