import requests
from bs4 import BeautifulSoup
# 1. 采集的网站地址
url = "https://www.woyaogexing.com/touxiang/nv/2022/1223978.html"
# 2. 向url地址发起get请求
r = requests.get(url)
# 3. 把返回的字符串文本用lxml解析器解析成soup对象
soup = BeautifulSoup(r.text,'lxml')
# 4. 通过soup对象的select方法用CSS选择器(selector)来定位元素
data = soup.select('.lazy') # 返回结果是一个列表包含所有元素(element)
# 5. 通过element对象的get方法,获取img元素的src属性
for i,d in enumerate(data):
# print(d.get('src'))
# 1. 拼接url
url = "https:" + d.get('src')
# 2. 向url地址发起get请求,返回的是二进制数据,在r.content中
r = requests.get(url)
# 3. 把返回的r.content写入图片文件
with open(f'小姐姐图片/{i}.jpeg','wb') as p:
p.write(r.content)
print(f"图片{i}写入完成.")
注意: 需要的该文件的同级目录下新建文件夹"小姐姐图片"
例2: 小哥哥图片
import requests
from bs4 import BeautifulSoup
# 1. 采集的网站地址
url = "https://www.duitang.com/album/?id=2567491"
# 2. 向url地址发起get请求
r = requests.get(url)
# 3. 把返回的字符串文本用lxml解析器解析成soup对象
# print(r.text)
soup = BeautifulSoup(r.text,'lxml')
# 4. 通过soup对象的select方法用CSS选择器(selector)来定位元素
data = soup.select('.mbpho .a img') # 返回结果是一个列表包含所有元素(element)
# 5. 通过element对象的get方法,获取img元素的src属性
for i,d in enumerate(data):
# print(d.get('src'))
# 1. 获取url地址
url = d.get('src')
# 2. 向url地址发起get请求,返回的是二进制数据,在r.content中
r = requests.get(url)
# 3. 把返回的r.content写入图片文件
with open(f'李钟硕/{i}.jpeg','wb') as p:
p.write(r.content)
print(f"图片{i}写入完成.")
站长素材,采集原图
import requests
from bs4 import BeautifulSoup
# 1.采集的网址
url = "https://sc.chinaz.com/tupian/haiyangshengwutupian.html"
#2.向url地址发起get请求, 第一次请求
r = requests.get(url)
#2.1 文件编码为utf-8
r.encoding = 'utf-8'
# print(r.text)
#3. 把返回的字符串文本用lxml解析器解析成soup对象
soup = BeautifulSoup(r.text,'lxml')
#4.通过soup对象的select方法用CSS选择器(selector)来定位元素
data = soup.select('.picblock a')# 返回结果是一个列表包含所有元素(element)
# print(data)
# # 5.通过element对象的get方法,获取img元素的src属性
for d in data:
#1.拼接url
url = 'https:' + d.get('href')
# 2.向url地址发送get请求,第二次请求,原图的链接
if url.startswith('https://sc.chinaz.com/tupian'):
r = requests.get(url)
#3. 把返回的字符串文本用lxml解析器解析成soup对象
soup = BeautifulSoup(r.text,'lxml')
#4.通过soup对象的select方法用CSS选择器(selector)来定位元素
data = soup.select('.image_gall img')# 返回结果是一个列表包含所有元素(element)
# print(data)
#5. 获取图片的url,src
url = "https:" + data[0].get('src')
#6. 请求img的src地址,第三次请求,原图的地址
r = requests.get(url)
#7. 根据url地址为文件命名
imgname = url.split('/')[-1]
# 8.把返回的r.content写入图片文件
with open('海洋生物/' + imgname,'wb') as p:
p.write(r.content)
print(f'{imgname}写入成功.')
留言