日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 爬虫进阶篇-4行代码实现爬取指定网站中的全部图片实例演示及原理剖析

發(fā)布時間:2025/4/16 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 爬虫进阶篇-4行代码实现爬取指定网站中的全部图片实例演示及原理剖析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上一篇:Python 爬蟲入門篇-如何獲取網頁中的圖片。我們了解到了 urllib 獲取圖片的原理,urllib.request.urlretrieve() 就是用來獲取圖片的。

這一篇,我們用正則表達式匹配出指定網站的所有圖片,然后都下載下來。
re 庫就是我們用來做正則表達式的庫,re.findall(a, html) 可以把 html 中所有符合 a 正則表達式的鏈接全都匹配出來。

我們來看看 a:'img src="(http.*?)"',一般 html 中的圖片就是 img 標簽,加上 src 網址,光匹配 img 標簽的話,可能是空的哦。

http.* 就是匹配所有網址了,"." 代表任意字符,"*" 代表前一個字符可以是任意數(shù)量了,.* 就表示 http 開頭的所有網址了,.*? 加個 ? 就限制滿足條件的只匹配一次,沒有 ? 就是匹配任意次,.* 習慣性稱之為貪婪匹配!

import urllib.request import reurl="http://ohhappyday.com/" # 我們要爬取圖片的地址page = urllib.request.urlopen(url) # 第一行 打開網址 html = page.read().decode("utf-8") # 第二行 獲取html源碼imglist = re.findall('img src="(http.*?)"',html) # 第三行 在html中匹配出符合條件的字符串x=0 for imgurl in imglist: # 遍歷圖片地址列表urllib.request.urlretrieve(imgurl,'pic%s.jpg' %x) # 第四行 獲取圖片并保存x=x+1

:可以分別用 print 打印出 page、html、imglist、imgurl,這樣可以讓你更清楚每一步在做什么,產生了什么。
:如果網站地址中包含中文會報錯,這個會在后期講解中做處理。
:如果某些網站沒有效果可能是做了反爬蟲處理,或者它展示圖片的原理不是常規(guī)的 imgsrc 網址。

如下是我們要實戰(zhàn)的網站:

運行后的效果圖如下:

喜歡的點個贊?吧!

總結

以上是生活随笔為你收集整理的Python 爬虫进阶篇-4行代码实现爬取指定网站中的全部图片实例演示及原理剖析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。