中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

小學課后服務 Python少兒編程 進階篇:5-圖片爬取 課件 (21張PPT)

資源下載
  1. 二一教育資源

小學課后服務 Python少兒編程 進階篇:5-圖片爬取 課件 (21張PPT)

資源簡介

(共21張PPT)
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
少兒編程課
王者榮耀圖片爬蟲
本節課,我們來爬取網站上面的圖片并保存到電腦中:
圖片爬取及保存
生活中保存網絡圖片的方法:
1
首先找到要保存的圖片;
2
鼠標右鍵保存圖片到指定目錄:
少量的圖片還可以這樣操作,那如果是一整頁的圖片呢?很多頁面的圖片呢?
1
每個圖片的網絡地址就像一根根蛛絲,圖片就是蛛絲上面的小水珠。
編碼實現
編程實現保存網絡圖片的思路:
1
首先找到要保存的圖片,獲取圖片地址
2
保存圖片到本地目錄,并重命名為圖片原名稱
編程實現保存本地圖片:
1
編碼保存圖片到指定目錄:
from tkinter import *
from PIL import Image
from PIL import ImageTk
root = Tk()
root.title('標簽上圖片的展示')
img = Image.open('C:/Users/Administrator/Desktop/momeimei.jpg')
img = ImageTk.PhotoImage(img)
label = Label(root, text="", image=img, width=500, height=500)
label.grid(row=0, column=0)
在之前生成二維碼的課程中,我們使用Image和ImageTkinter來操作圖片嗎?
# 將本地的圖片文件保存到其他的目錄中
img.save('C:/Users/Administrator/Desktop/momeimei-1.jpg')
編程實現保存一個網絡圖片:
1
拿到圖片網絡地址:http://pic1./wallpaper/2018-11-13/5bea31214169a_270_185.jpg
使用Requests獲取網絡圖片
import requests
imageUrl = 'http://pic1./wallpaper/2018-11-09/5be4ef509f62a_270_185.jpg'
imgRes = requests.get(imageUrl)
2
圖片屬于二進制文件,Requests 會自動為你解碼 gzip 和 deflate 傳輸編碼的響應數據。
例如,以請求返回的二進制數據創建一張圖片,你可以使用如下代碼:
import requests
from io import BytesIO
img = Image.open(BytesIO(imgRes.content))
3
使用Image將圖片保存到本地目錄
# 將本地的圖片文件保存到其他的目錄中
img.save('C:/Users/Administrator/Desktop/momeimei-1.jpg')
練習
Exercises








現在知道網絡圖片地址,請使用Image的save()方法
將它保存到本地目錄下。
使用BeautifulSoup拿到圖片的地址:
1
現在知道了網頁的地址,每個圖片的地址包含在網頁中,如何拿到圖片的下載地址?
BeautifulSoup安裝
網絡數據挖掘指的是從網站中獲取數據的過程,數據挖掘技術可以讓我們從網站世界中收集大量有價值的數據。
Beautiful Soup是一個Python庫,可以從HTML或XML文件中獲取數據,利用它你可以做很多事情,
比如你可以持續解析某個商品的最新價格,以便跟蹤價格的波動情況。
1
Beautiful Soup簡介
2
Beautiful Soup安裝
# 使用pip安裝
pip install beautifulsoup4
# 檢驗是否安裝成功
from bs4 import BeautifulSoup
3
Beautiful Soup支持Python標準庫中的HTML解析器,還支持一些第三方的解析器,其中一個是 lxml
# lxml是功能最豐富且易于使用的庫,用于處理Python語言中的XML和HTML
pip install lxml
# html5lib的解析方式與瀏覽器相同
pip install html5lib
BeautifulSoup使用
4
創建Beautiful Soup對象
from bs4 import BeautifulSoup
html_doc = """
The Dormouse's story

The Dormouse's story


Once upon a time there were three little sisters; and their names were
Elsie,
Lacie and
Tillie;
and they lived at the bottom of a well.


...


"""
soup = BeautifulSoup(html_doc,features='lxml')
print(soup)
使用BeautifulSoup解析這段代碼,能夠得到一個 BeautifulSoup 的對象,并能按照標準的縮進格式的結構輸出
BeautifulSoup使用
5
使用find_all()找到指定標簽
soup = BeautifulSoup(html_doc,features='lxml')
print(soup.fidn_all(‘a’))
[
Elsie,
Lacie,
Tillie
]
輸出結果如下:
6
使用網頁內容創建BeautifulSoup對象
import requests
htmlUrl = 'http://www./zt/wangzherongyao_1.html'
soup = BeautifulSoup(requests.get(htmlUrl).text,features='lxml')
練習
Exercises








現在知道網頁地址,請使用BeautifulSoup的find_all()
方法找到所有圖片地址并打印出來。
圖片地址的篩選
7
使用find_all()找到標簽
htmlUrl = 'http://www./zt/wangzherongyao_1.html'
soup = BeautifulSoup(requests.get(htmlUrl).text,features='lxml')
for url in soup.find_all('img'):
print(url)
王者榮耀

...

...

...
經典熱門游戲桌面壁紙大全

輸出結果如下:
圖片地址的篩選
8
使用has_attr()過濾標簽
# 如果有data-original屬性并且沒有'alt屬性
if (child.has_attr('data-original') and not child.has_attr('alt')):

輸出結果如下:
9
獲取標簽數據
# 獲取data-original屬性的數據
child.['data-original’]
http://pic1./wallpaper/2018-11-13/5bea31214169a_270_185.jpg
輸出結果如下:
完成代碼如下:
import requests
from PIL import Image
from io import BytesIO
from bs4 import BeautifulSoup
imgUrlHead = ‘http://www./zt/wangzherongyao_'
imgUrlTail = ‘.html'
res = requests.get(url)
soup = BeautifulSoup(res.text,features='lxml')
def saveImage(url):
names = url.split('/')
imgName = names[len(names)-1]
imgRes = requests.get(url)
img = Image.open(BytesIO(imgRes.content))
img.save(downloadPath+imgName)
for i in range(1,6):
tempUrl = '%s%s%s' % (imgUrlHead,i,imgUrlTail)
for child in soup.find_all('img'):
if (child.has_attr('data-original') and not child.has_attr('alt')):
url = child['data-original']
saveImage(url)
總結
Summary
網絡請求獲取網絡圖片,并保存到本地目錄

BeautifulSoup的使用

Thanks!

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 陵川县| 鸡东县| 汉阴县| 汉川市| 昌乐县| 饶阳县| 浏阳市| 昌乐县| 鸡西市| 上犹县| 万年县| 安泽县| 边坝县| 弋阳县| 崇左市| 桑日县| 五家渠市| 青铜峡市| 阳朔县| 柏乡县| 浦城县| 姜堰市| 宁德市| 新安县| 利川市| 乃东县| 屏山县| 清远市| 明光市| 岢岚县| 九龙坡区| 封丘县| 屏东县| 通山县| 沙河市| 长岛县| 资溪县| 亳州市| 温州市| 阿拉善右旗| 永仁县|