一、准备工作
1、需要用到的网站
https://www.ivsky.com/tupian/songshulin_v64748/
2、需要使用的模块
pip install requests
pip install beautifulsoup4
pip install lxml
二、获取对应标签信息
- 首先我们先打开网站,按F12查看页面。如果我们想要获取图片的下载地址,那我们可以通过select和find方法来获取
1、select方法获取
- 首先我们先获取整个页面信息
import requests
from bs4 import BeautifulSoup
def img():
url = 'https://www.ivsky.com/tupian/songshulin_v64748/' # 需要访问的地址
res = requests.get(url) # 访问地址
soup = BeautifulSoup(res.text, "lxml") # 定义一个Soup对象,lxml 解析器
print(soup)
if __name__ == "__main__":
img()
- 通过select我们获取了页面中的所有img标签
label = soup .select("img") # # 搜索页面中所有的img标签,以列表的形式展示
print(label)
- 通过循环列表获取每条img标签
for i in label:
print(i) # 循环列表获取每条img标签
- 上面我们已经获取了每个img标签,下面我们将获取到图片的下载地址
完整代码
import requests
from bs4 import BeautifulSoup
def img():
url = 'https://www.ivsky.com/tupian/songshulin_v64748/' # 需要访问的地址
res = requests.get(url) # 访问地址
soup = BeautifulSoup(res.text, "lxml") # 定义一个Soup对象,lxml 解析器
label = soup .select("img") # 搜索页面中所有的img标签,以列表的形式展示
for i in label:
src = i['src'] # 获取图片下载地址
print(src) # 循环打印图片下载地址
if __name__ == "__main__":
img()
2、find方法获取
- 首先我们需要获取到所有图片的标签,下图就是选中所有图片的效果
import requests
from bs4 import BeautifulSoup
def img():
url = 'https://www.ivsky.com/tupian/songshulin_v64748/' # 需要访问的地址
res = requests.get(url) # 访问地址
soup = BeautifulSoup(res.text, "lxml") # 定义一个Soup对象,lxml 解析器
label = soup.find('ul', attrs={'class': 'pli'}) # 获取ul标签的class属性,find只能获取第一个数据
print(label)
if __name__ == "__main__":
img()
- 下面我们要获取每张图片的标签,通过find_all获取所有的
a = label.find_all('li') #获取当前所有的li标签
print(a)
- 获取了所有li标签后,接下来我们要在li标签中找到img标签,并获取图片下载地址,
完整代码
import requests
from bs4 import BeautifulSoup
def img():
url = 'https://www.ivsky.com/tupian/songshulin_v64748/' # 需要访问的地址
res = requests.get(url) # 访问地址
soup = BeautifulSoup(res.text, "lxml") # 定义一个Soup对象,lxml 解析器
label = soup.find('ul', attrs={'class': 'pli'}) # 获取ul标签的class属性,只获取第一个数据
for i in label.find_all('li'): # 获取当前所有的li标签
a = i.find('img') # 获取img标签
print(a)
print(a['src']) # 获取下载地址
if __name__ == "__main__":
img()