话不多说,直接看代码!!!!!
第一种方法(正则表达式)
import requests#应用库
import re#应用库
import time#应用库
url='https://www.ivsky.com/tupian/dajiao_maotouying_v62812/'#网站链接
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56'}#进行UA伪装
r = requests.get(url=url,headers=headers).text#用requests获取网页文本
url1=re.findall('<img src="(.*?)" alt=".*?">',r)#用正则获取链接
del url1[-3:];url2=[]#从列表中删除后3个获取的链接
for i in url1:#对链接进行拼接
url2.append('https:'+i)#拼接后放到新的列表
for z in url2:#遍历链接并批量存储当前目录下的图片
time.sleep(1)#限制爬取的速度
r1 = requests.get(url=z,headers=headers).content#获得响应数据
filename =z.split('/')[-1]#获取链接后的名字作为图片名称
with open(filename,'wb') as fp:#永久化储存
fp.write(r1)
第二种方法(xpath)
import requests#应用库
import time#应用库
from lxml import etree#引用库
url='https://www.ivsky.com/tupian/dajiao_maotouying_v62812/'#网站链接
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56'}#进行UA伪装
r = requests.get(url=url,headers=headers).text.encode(encoding='utf-8').decode()#用requests获取网页文本
response=etree.HTML(r,etree.HTMLParser())#转换为HTML文档
url1=response.xpath('//img/@src');url2=[]#用xpath匹配链接和创造新列表
for i in url1:#对链接进行拼接
url2.append('https:'+i)#拼接后放到新的列表
for z in url2:#遍历链接并批量存储当前目录下的图片
time.sleep(1)#限制爬取的速度
r1 = requests.get(url=z,headers=headers).content#获得响应数据
filename =z.split('/')[-1]#获取链接后的名字作为图片名称
with open(filename,'wb') as fp:#永久化储存
fp.write(r1)
第三种方法(bs4)
import requests#应用库
import time#应用库
from bs4 import BeautifulSoup#引用库
url='https://www.ivsky.com/tupian/dajiao_maotouying_v62812/'#网站链接
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56'}#进行UA伪装
r = requests.get(url=url,headers=headers).text.encode(encoding='utf-8').decode()#用requests获取网页文本
soup=BeautifulSoup(r,'lxml')#转换为HTML文档
url2=[];url3=[]#创建新列表
for i in soup.select('img'):#把这锅汤用select的方法获取属性img的数据
url2.append(i['src'])#获取属性src的值放到新列表
for i in url2:#对链接进行拼接
url3.append('https:'+i)#拼接后放到新的列表
for z in url3:#遍历链接并批量存储当前目录下的图片
time.sleep(1)#限制爬取的速度
r1 = requests.get(url=z,headers=headers).content#获得响应数据
filename =z.split('/')[-1]#获取链接后的名字作为图片名称
with open(filename,'wb') as fp:#永久化储存
fp.write(r1)
欢迎大佬斧正和指点。
`