立即登录

注册账号

联系我们

2022年3月11日 11:16

5. 二进制数据的采集

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}写入成功.')

 

留言

给我留言