
正文
爬当当网上python书籍的图片
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
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))







