这个爬虫的作用就是:输入你想要爬的图片的名称,然后自动通过百度图片爬取保存在本地文件夹中
需要用到的模块:re(正则表达式),request,random
#!-*- coding:utf-8 -*-
#FileName : img.py
#Author : CSDN_fzs
#Data : 2018/01/10
import re #导入正则表达式模块
import requests #python HTTP客户端 编写爬虫和测试服务器经常用到的模块
import random #随机生成一个数,范围[0,1]
#定义函数方法
def spiderPic(html,keyword):
print('正在查找 ' + keyword +' 对应的图片,下载中,请稍后......')
for addr in re.findall('"objURL":"(.*?)"',html,re.S): #查找URL
print('正在爬取URL地址:'+str(addr)[0:30]+'...') #爬取的地址长度超过30时,用'...'代替后面的内容
try:
pics = requests.get(addr,timeout=10) #请求URL时间(最大10秒)
except requests.exceptions.ConnectionError:
print('您当前请求的URL地址出现错误')
continue
fq = open('D:\\img\\' + (keyword+'_'+str(random.randrange(0,1000,4))+'.jpg'),'wb') #下载图片,并保存和命名
fq.write(pics.content)
fq.close()
#python的主方法
if __name__ == '__main__':
word = input('请输入你要搜索的图片关键字:')
result = requests.get('http://image.baidu.com/search/index?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=' + word)
#调用函数
spiderPic(result.text,word)
"word"的作用就是接收你想要找的图片名称,然后拼接到“百度图片”的链接上
查看谷歌浏览器搜索栏百度图片“汽车”的链接
查看代码执行结果
抓取的图片自动保存在本地文件夹并自动命名