python批量下载百度图片_爬虫:大量爬取百度图片——python

本文介绍了如何使用Python批量下载百度图片,包括使用正则表达式抓取objURL、BeautifulSoup解析动态网页以及利用Selenium应对反爬虫策略,同时提供了代理池方法以避免IP被封。
摘要由CSDN通过智能技术生成

在进行图像处理时需要大量的图片进行分析,这时爬虫的作用就显得比较重要了,通过爬虫可以爬取大量的图片进行图像处理以及模型训练,下面就分享一种可以在百度图片上爬取大量图片的方法。

环境:python3.7+jupyter notbook

其他python3.7环境也行(比如pycharm)

1、使用正则表达式爬取百度图片

首先打开百度图片,会看到这个界面

然后鼠标右击查看网页源代码,一直往下滑,可以看到这个界面

从这里可以看到图片的网址在objURL里面,当然hoverURL等里面也有图片信息,不过objURL里面的图片清晰度比较高,所以这里一般用正则表达式爬取objURL里面的内容

代码附上:

#-*- coding:utf-8 -*-

import re

import requests

#url内输入你要下载的图片地址

url = 'https://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gb18030&word=%BA%A3%CC%C4%BB%A8%B8%DF%C7%E5%CD%BC%C6%AC&fr=ala&ala=1&alatpl=adress&pos=0&hs=2&xthttps=000000'

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'}

html = requests.get(url=url,headers=headers).text

pic_url = re.findall('"objURL":"(.*?)",',html,re.S)

i=0

for each in pic_url:

print (each)

可以看到输出结果,是很多图片的网址

下面用get请求将这些图片保存在本地文件(这里保存在默认路径)

for each in pic_url:

print (each)

try:

pic= requests.get(each, timeout=10)

except requests.excepti

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Python爬取百度图片并保存的示例代码: ```python # 导入依赖库 import requests import re import os # 设置搜索关键字 keyword = "美食" # 设置图片保存路径 save_path = "./images/" # 构造百度图片搜索的URL url = "https://image.baidu.com/search/index?tn=baiduimage&word={}".format(keyword) # 发送HTTP请求并获取响应 response = requests.get(url) # 使用正则表达式从响应内容中提取图片URL列表 img_urls = re.findall('"objURL":"(.*?)",', response.text, re.S) # 遍历图片URL列表并下载保存图片 for i, img_url in enumerate(img_urls): try: # 发送HTTP请求并获取响应 response = requests.get(img_url, timeout=10) # 设置图片保存路径 img_path = os.path.join(save_path, "{}.jpg".format(i)) # 保存图片 with open(img_path, "wb") as f: f.write(response.content) print("成功下载第{:>3d}张图片!".format(i+1)) except Exception as e: print("下载第{:>3d}张图片失败:{}".format(i+1, e)) ``` 解释一下上述代码的主要步骤: 1. 设置搜索关键字和图片保存路径 2. 构造百度图片搜索的URL 3. 发送HTTP请求并获取响应 4. 使用正则表达式从响应内容中提取图片URL列表 5. 遍历图片URL列表并下载保存图片 需要注意的是,这种方式只是简单的使用正则表达式从响应内容中提取图片URL,而没有使用任何API,因此可能存在一些不稳定性和容易被反爬虫机制封禁的风险。建议在使用时注意合理使用代理、设置请求头等防反爬措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值