python怎么批量爬取百度图片_Python自学——输出练习+批量爬取百度图片-Go语言中文社区...

一、题目:暂停一秒输出。

**程序分析:**使用 time 模块的 sleep() 函数。

import time

myID={1:'a',2:'b',3:'c',4:'d'}

for key ,value in dict.items(myID):

print(key,value)

time.sleep(2)

输出时候,有2秒停顿。

1 a

2 b

3 c

4 d

总结

1、Python 日期和时间应用

2、Python time time()方法运用

————————————————————————————————————————————

二、Python 爬取批量百度图片

批量下载百度图片中的图片。

import re

import requests

from urllib import error

from bs4 import BeautifulSoup

import os

num=0

numPicture=0

file=''

list=[]

def Find(url):

global List

print('正在检测图片总数,请稍等......')

t=0

i=1

s=0

while t<1000:

Url=url+str(t)

try:

Result=requests.get(Url,timeout=7)

except BaseException:

t=t+60

continue

else:

result=Result.text

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

s+=len(pic_url)

if len(pic_url)==0:

break

else:

List.append(pic_url)

t=t+60

return s

def recommend(url):

Re=[]

try:

html=requests.get(url)

except error.HTTPError as e:

return

else:

html.encoding='utf-8'

bsObj=BeautifulSoup(html.text,'html.parser')

div=bsObj.find('div',id='topRS')

if div is not None:

listA=div.findAll('a')

for i in listA:

if i is not None:

Re.append(i.get_text())

return Re

def downloadPicture(html,keyword):

global num

#t=0

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

print('找到关键词:'+keyword+'的图片,即将开始下载图片...')

for each in pic_url:

print('正在下载第'+str(num+1)+'张图片,图片地址:'+str(each))

try:

if each is not None:

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

else:

continue

except BaseException:

print('错误,当前图片无法下载')

continue

else:

string=file+r'\'+keyword+'_'+str(num)+'.jpg'

fp=open(string,'wb')

fp.write(pic.content)

fp.close()

num+=1

if num>=numPicture:

return

if __name__ == '__main__': #主函数入口

word=input("请输入要检索的关键词(可以是人名、地名等):")

#添加URL

url='http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=' + word + '&pn='

tot=Find(url)

Recommend=recommend(url)#记录相关推荐

print('经过检测%s类图片共有%d张' %(word,tot))

numPicture=int(input('请输入想要下载的图片数量'))

file=input('请建立一个存储图片的文件夹,输入文件夹名称即可')

y=os.path.exists(file)

if y==1:

print('该文件已存在,请重新输入')

file=input('请重新建立一个存储图片的文件夹,输入文件夹名称即可')

os.mkdir(file)

else:

os.mkdir(file)

t=0

tmp=url

while t< numPicture:

try:

url=tem+str(t)

result=requests.get(url,timeout=10)

print(url)

except error.HTTPError as e:

print('网络错误,请调整网路后重试')

t=t+60

else:

downloadPicture(result.text,word)

t=t+60

print('搜索结束,感谢使用')

print('猜你喜欢')

for re in Recommend:

print(re,end='')

运行截图:

5aa1d4fa1f43d33ffb55c3a933e4f91d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值