‘’’
    目标url: https://www.fabiaoqing.com/biaoqing/lists/page/1.html
    需求:爬表情包前10页,保存图片 (每页45个表情包)
    分析:
    第一页:https://www.fabiaoqing.com/biaoqing/lists/page/1.html
    第二页:https://www.fabiaoqing.com/biaoqing/lists/page/2.html
    第三页:https://www.fabiaoqing.com/biaoqing/lists/page/3.html

    所以: _url = f’https://www.fabiaoqing.com/biaoqing/lists/page/{i}.html
    ‘’’_

    1. from selenium import webdriver
    2. from selenium.webdriver.common.by import By
    3. import time
    4. import requests
    5. import os
    6. img_list = []
    7. driver = webdriver.Chrome()
    8. for i in range(1, 11):
    9. url = f'https://www.fabiaoqing.com/biaoqing/lists/page/{i}.html'
    10. driver.get(url)
    11. driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
    12. time.sleep(3)
    13. imgs = driver.find_elements(By.XPATH, "//div[@class='tagbqppdiv']/a/img")
    14. for img in imgs:
    15. img = img.get_attribute('data-original') # 这个是获取img标签里的 data-original属性的值
    16. img_list.append(img)
    17. path = os.getcwd() + '\\test\\imgs\\' # 先设置好要保存图片的目录
    18. for img_url in img_list:
    19. img_name = os.path.join(path, f'{img_url[31:]}') # 把目录和图片名合并为一个长的字符串
    20. r = requests.get(img_url, stream=True)
    21. if r.status_code == 200:
    22. open(img_name, 'wb').write(r.content)
    23. del r

    附:表情包列表
    image.png
    总结一下:
    今天学到了3点知识
    1) 如何获取标签里的属性值: img = img.get_attribute(‘data-original’) # 这个是获取img标签里的 data-original属性的值
    2) 如何简单设置图片的保存目录(因太多,保存到一个目录好管理)
    path = os.getcwd() + ‘\test\imgs\‘ # 先设置好要保存图片的目录
    img_name = os.path.join(path, f’{img_url[31:]}’) # 把目录和图片名合并为一个长的字符串
    3) 如何保存图片
    r = requests.get(img_url, stream=True)
    if r.status_code == 200:
    open(img_name, ‘wb’).write(r.content)
    del r

    4) 第一次用了两种不同的方法一起来爬取数据