# 1.requests 发送请求,从服务器获取到数据。
# 2.BeautifulSoup 来解析整个页面的源代码
import requests
from bs4 import BeautifulSoup
# 爬取网站的第一件事 发送请求到服务器
url = "http://www.umei.cc/meinvtupian/meinvxiezhen/" #网页地址
resp = request.get(url) # 从服务器拿到源码
resp.encoding = "utf-8"
# 解析html
page = BeautifulSoup(resp.text, "html.parser")
# 从页面中找到某些东西
# find() 找一个
# find_all() 找所有
typeList = page.find("div", attrs={"class":"TypeList"}) #找到属名为TypeList的div里的所有内容
alist = typeList.find_all("a", attrs= {"class":"TypeBigPics"}) #找到属性名为TypeBigPics的所有a标签
for a in alist:
href = a.get("href") # 获取子页面的链接
resp1 = requests.get(href) # 给子页面发送请求
resp1.encoding = "utf-8"
child_page = BeautifulSoup(respl.text, "html.parse")
#找到图片的真实路径
src = child_page.find("div", attrs={"class":"ImageBody"}).find("img").get("src")
# 发送请求到服务器,把图片保存在本地
# 创建文件
f = open(""tu_%s.jpg %n, mode = "wb") # wb表示写入的内容是非文本文件
f.write(requests.get(src).content )# 向外拿出图片的数据_不是文本信息
print("恭喜你,下载了一张图片")
n+=1
# 如果是一组图片的时候
text = child_page.find("div", attrs = {"class": "ImageBody"}).find_next("script").text
#拿到script里面的文本
num = text.split(",")[1].strip("\"") #去除引号
网站架构不一样,方法会有所区别,但是思路是差不多的。