1. 分析网页代码, 获取图片下载连接: http://img3m4.ddimg.cn/20/11/23473514-1_b_5.jpg
2. python 实现代码
- import os
- import re
- import requests
- import time
- # 图片来源 url
- url='http://search.dangdang.com/?key=python&act=input'
- # 构建请求头
- headers = {
- 'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) ApplewebKit/537.36 (Khtml, like Gecko) Chrome/79.0.3945.79 Mobile Safari/537.36'
- }
- # 获取网页 HTML 代码
- response = requests.get(url=url,headers=headers)
- HTML = response.text
- # print(HTML)
- # 抓取图片名称
- pic_name = re.findall('<a title=" (.*?)"ddclick',HTML)
- # print(pic_name)
- # 抓取图片 url
- pic_url = re.findall("<img src='(.*?)'alt",HTML)
- pic_url2 = re.findall("<img data-original='(.*?)'src",HTML)
- pic_url.extend(pic_url2) # 把两个 list 合并起来
- # 创建文件夹
- base_path = os.getcwd()# 获取当前文件的绝对路劲
- file_name = r'爬图片'# 存放图片的文件夹名称
- path = os.path.join(base_path,file_name)
- if os.path.exists(path):# 判断文件夹是否存在, 不存在则创建一个名为 file_name 的文件夹
- pass
- else:
- os.mkdir(path)
- # 把图片保存起来
- for i in range(len(pic_url)):
- rsp = requests.get(pic_url[i])
- # 创建图片名称
- img = pic_name[i]+'.jpg'
- img_name = os.path.join(path,img)
- with open(img_name,'wb')as f:
- f.write(rsp.content)
- time.sleep(1)
- print("正在下载第 {} 张图片".format(i))
- View Code
来源: http://www.bubuko.com/infodetail-3339495.html