python爬虫百度图片_【Python】爬取百度图片

1 #-*- coding:utf-8

2 importre3 importrequests4 from urllib importerror5 from bs4 importBeautifulSoup6 importos7

8 num =09 numPicture =010 file = ''

11 List =[]12

13 #检测图片数量函数

14 defFind(url):15 globalList #设置为全局变量16 print('正在检测图片总数,请稍等.....')17 t = 0 #objURL 分页数初始值

18 i = 1

19 s =020 while t < 1000:21 Url = url + str(t) #url地址加上分页数

22 try:23 Result = requests.get(Url, timeout=7) #获取到url.timeout时间为7秒.如果获取不到7秒后退出

24 exceptBaseException:25 t = t + 60 #源代码分页数为60

26 continue

27 else:28 result = Result.text #以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。

29 pic_url = re.findall('"objURL":"(.*?)",', result, re.S) #先利用正则表达式找到图片url

30 s += len(pic_url) #根据正则表达式循环取出图片.(根据图片的数量长度来取,其实就是统计图片的个数)

31 if len(pic_url) == 0: #长度为0说明没有符合条件的图片了退出

32 break

33 else:34 List.append(pic_url) #将取出的图片存入到list中去

35 t = t + 60

36 returns37

38 #推荐函数(推荐函数,主要是根据你键入的文本,在百度图片里找到相似的内容,返回给用户,类似于百度搜索的最下面)

39 defrecommend(url):40 Re =[]41 try:42 html = requests.get(url) #获取url

43 excepterror.HTTPError as e:44 return

45 else:46 html.encoding = 'utf-8' #html解码格式为utf-8

47 bsObj = BeautifulSoup(html.text, 'html.parser') #html.text 根据encoding定义的code返回内容. html.parser 是解析器

48 div = bsObj.find('div', id='topRS') #通过find()函数获取标签

49 if div is notNone:50 listA = div.findAll('a') #获取子标签 find_All()返回的是一个list find()直接返回结果

51 for i inlistA:52 if i is notNone:53 Re.append(i.get_text())54 returnRe55

56 #下载图片函数

57 defdowmloadPicture(html, keyword):58 globalnum59 #t =0

60 pic_url = re.findall('"objURL":"(.*?)",', html, re.S) #先利用正则表达式找到图片url

61 print('找到关键词:' + keyword + '的图片,即将开始下载图片...')62 for each inpic_url:63 print('正在下载第' + str(num + 1) + '张图片,图片地址:' +str(each))64 try:65 if each is notNone:66 pic = requests.get(each, timeout=7)67 else:68 continue

69 exceptBaseException:70 print('错误,当前图片无法下载')71 continue

72 else:73 string = file + r'\\' + keyword + '_' + str(num) + '.jpg'

74 fp = open(string, 'wb')75 fp.write(pic.content)76 #text 返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。

77 #content返回的是bytes,二级制型的数据。也就是说你如果想要提取文本就用text.但是如果你想要提取图片、文件,就要用到content

78 fp.close()79 num += 1

80 if num >=numPicture:81 return

82

83

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

85 word = input("请输入搜索关键词(可以是人名,地名等):")86 #add = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E5%BC%A0%E5%A4%A9%E7%88%B1&pn=120'

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

88 tot =Find(url)89 Recommend = recommend(url) #记录相关推荐

90 print('经过检测%s类图片共有%d张' %(word, tot))91 numPicture = int(input('请输入想要下载的图片数量'))92 file = input('请建立一个存储图片的文件夹,输入文件夹名称即可')93 y =os.path.exists(file)94 if y == 1:95 print('该文件已存在,请重新输入')96 file = input('请建立一个存储图片的文件夹,)输入文件夹名称即可')97 os.mkdir(file)98 else:99 os.mkdir(file)100 t =0101 tmp =url102 while t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
Python爬虫可以用来自动爬取百度图片,实现批量下载图片的功能。通过使用Python编程语言和相关的库函数,我们可以编写爬虫脚本来完成这个任务。 Python爬虫领域非常常用,因为它有着丰富的库函数和强大的功能,特别是在人工智能和图像处理方面有着突出的表现。 在爬取百度图片时,我们需要注意到百度图片的翻页方式是瀑布流,通过滚动滑轮触发JS进行异步加载,而不是之前的点击下一页的方式。这给爬虫增加了一定的难度。但是通过之前的文章,我们可以找到一篇描述了爬取百度图片的方法,其中介绍的方式可能还是之前的点击下一页的方式。 因此,如果你对爬虫有兴趣,可以尝试使用Python编写一个爬取百度图片的脚本,通过学习和实践,你可以更深入地了解爬虫的知识和应用。同时,你也可以不定期关注爬虫实例和教程,以获得更多的学习和交流的机会。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python 爬虫(1)--爬取百度图片,你确定不来看一看](https://blog.csdn.net/weixin_46897073/article/details/111827736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值