【Python爬虫】 爬取商品图片并下载

1. 引入库

import requests
from lxml import etree

2. 请求数据(headers 的作用是将请求伪装成浏览器的请求,可以跳过简单的爬虫拦截)

# 更换一个可以下载图片的网址
url = "https://search.jd.com/Search?keyword=笔记本电脑&wq=笔记本电脑&page=%d&s=%d&click=0"%(page,size)
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"}

resp = requests.get(url=url,headers=headers)
content = etree.HTML(resp.text)

3. 获取图片链接

# 获取图片网址
img_list = content.xpath('//*[@id="J_goodsList"]/ul/li/div/div[1]/a/img/@src')
func = lambda x:"https:"+x # 给图片链接拼接请求头“https:”
img_list = list(map(func,img_list))

4. 分别请求图片链接(获取图片的二进制数据,并以二进制的形式存入到图片文件中)

i = 1
print("图片开始下载,请注意查看文件夹")
for img in img_list:
    # 请求图片路径,获取图片内容
    r = requests.get(img)
    img_path = 'img/img'+str(i)+'.png'
    # r.text为响应的文本内容, r.content为响应内容的二进制格式数据
    # 将图片的二进制数据存放到图片文件中(使用二进制形式写入)
    open(img_path, 'wb').write(r.content)
    i+=1 # 控制图片命名不重复
else:
    print("图片下载完成")

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhouwhui

这是一个你请我恰饭的机会呀!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值