经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python3 » 查看文章
基于python3 的百度图片下载器的实现代码
来源:jb51  时间:2019/11/5 12:44:49  对本文有异议

自己写了玩的一个小脚本,百度图片下载

  1. import re
  2. import os
  3. import requests
  4. import hashlib
  5. def dowmloadPic(html, keyword):
  6. pic_url = re.findall('"objURL":"(.*?)",', html, re.S)
  7. if len(pic_url) < 1:
  8. return 1
  9. i = 0
  10. for each in pic_url:
  11. print(i + 1, end=',')
  12. md5Str = hashlib.md5(each.encode("utf-8")).hexdigest()
  13. # 抓去链接
  14. oneStr = md5Str + ' ' + keyword + ' ' + each + '\n'
  15. with open('downText.txt', 'a+') as f:
  16. f.write(oneStr)
  17. # 下载图片
  18. # try:
  19. # pic = requests.get(each, timeout=10)
  20. # except requests.exceptions.ConnectionError:
  21. # print('链接超时,跳过此操作')
  22. # continue
  23. #
  24. # kz = os.path.splitext(each)[-1]
  25. # photo = + keyword + '_' + str(i) + kz
  26. #
  27. # with open(photo, 'wb') as f:
  28. # f.write(pic.content)
  29. i += 1
  30. print('\n')
  31. return 0
  32. if __name__ == '__main__':
  33. word = input('enter a key word:')
  34. page = input('enter the page:')
  35. page = int(page)
  36. page = 1 if page < 1 else page
  37. url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=' + word + '&ct=201965323&v=flip'
  38. p = 1
  39. while (p <= page):
  40. print(word + ',第[' + str(p) + ']页:')
  41. pn = (p - 1) * 20
  42. url = url + '&pn=' + str(pn)
  43. result = requests.get(url).content.decode('utf-8')
  44. code = dowmloadPic(result, word)
  45. if code:
  46. print('无相关数据,提前退出程序')
  47. break
  48. p = p + 1
  49. print('程序结束')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号