‘’’
目标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‘
‘’’_
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import requests
import os
img_list = []
driver = webdriver.Chrome()
for i in range(1, 11):
url = f'https://www.fabiaoqing.com/biaoqing/lists/page/{i}.html'
driver.get(url)
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
time.sleep(3)
imgs = driver.find_elements(By.XPATH, "//div[@class='tagbqppdiv']/a/img")
for img in imgs:
img = img.get_attribute('data-original') # 这个是获取img标签里的 data-original属性的值
img_list.append(img)
path = os.getcwd() + '\\test\\imgs\\' # 先设置好要保存图片的目录
for img_url in img_list:
img_name = os.path.join(path, f'{img_url[31:]}') # 把目录和图片名合并为一个长的字符串
r = requests.get(img_url, stream=True)
if r.status_code == 200:
open(img_name, 'wb').write(r.content)
del r
附:表情包列表
总结一下:
今天学到了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) 第一次用了两种不同的方法一起来爬取数据