1.環(huán)境:python3.6以及PyCharm
2.需要用到的庫有requests 户盯,urllib , bs4 罚屋,os璧瞬,threading
可以參照:Mac下PyCharm導入第三方包
Request:用來請求網絡數(shù)據
Beautifulsoup4:用來解析html文檔,過濾所需數(shù)據
urllib:用來操作網頁url
threading:用來做多線程~
接下來進入正題:
1.首先獲取所有要下載的網頁的URL,怕太多麻裁,我這邊只載1-10頁
2.接著便是獲取頁面中的圖片的url
使用lxml解析箍镜,尋找到所有的img,將所有圖片地址遍歷過去
其中有用到全局變量的煎源,使用gLock.acquire()和gLock.release()加鎖解鎖下色迂,避免多線程運行時沖突
url = img.get('data-original', 'http://ww3.sinaimg.cn/bmiddle/9150e4e5ly1fpzs6elzerg20470430w7.gif')這行,有些圖片沒有get到data-original的話手销,后面split去分割"/"會出錯脚草,所以就寫了個固定的地址填充下
3.獲取到每個圖片的地址后,截取所有圖片的名字原献,作為保存到本地的圖片名字,保存在文件夾為images目錄底下埂淮。
然后使用urlretrieve()方法將圖片載下來
4.由于頁面如果很多多話姑隅,一個一個跑太慢了,于是加了一個多線程
以上~~~一個簡單的爬取網站圖片的功能就完成啦>笞病讲仰!
畢竟第一個PY實驗~人生苦短,我用python