正则表达式实战---爬取多张图片
生活随笔
收集整理的這篇文章主要介紹了
正则表达式实战---爬取多张图片
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
主要是分析網(wǎng)站圖片的html源代碼,來(lái)決定正則表達(dá)式如何寫(xiě)。
完整代碼
#使用正則表達(dá)式爬取多張圖片,亮點(diǎn)在于數(shù)據(jù)解析 #爬取網(wǎng)站:https://www.bilibili.com/read/cv11323037?from=search import requests import re import os image_path='image' if not os.path.exists(image_path):os.makedirs(image_path)url='https://www.bilibili.com/read/cv11323037?from=search' header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48' } r=requests.get(url=url,headers=header).text with open('1.html','w',encoding='utf-8') as f:f.write(r) #使用正則表達(dá)式數(shù)據(jù)解析 #<img data-src="//i0.hdslb.com/bfs/article/45cb84438212c280a5cc22dc6243d4d662a2a535.jpg" width="992" height="700" data-size="226676" class="normal-img" data-index="0" data-type="preview" style="width: 628px; height: 444px;" src="//i0.hdslb.com/bfs/article/45cb84438212c280a5cc22dc6243d4d662a2a535.jpg@785w_555h_progressive.webp"> pattern='<img data-src="(.*?)" width=' list=re.findall(pattern,r,re.S) print(list) #解析完畢 for src in list:image_url='https:'+srcr=requests.get(url=image_url,headers=header).contentimage_name=src.split('/')[-1]with open(os.path.join(image_path,image_name),'wb') as f:f.write(r)print("{}已爬取完畢".format(image_name))總結(jié)
以上是生活随笔為你收集整理的正则表达式实战---爬取多张图片的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何看电脑内存电压(如何看电脑内存电压多
- 下一篇: 比较丧的网名女82个