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

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

环境: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

你可能感兴趣的:(python批量下载百度图片)