当前位置:Gxlcms > Python > python获取网站图片

python获取网站图片

时间:2021-07-01 10:21:17 帮助过:93人阅读

  1. # zhouxianglh 2013.05.03 python3.3
  2. import urllib.request
  3. from html.parser import HTMLParser
  4. import re
  5. import os
  6. import shutil
  7. import time
  8. url = "http://www.douban.com/"
  9. filePath = "D:\\temp"
  10. # 读也HTML
  11. urlContent = urllib.request.urlopen(url);
  12. data = str(urlContent.read())
  13. # 初始化文件目录
  14. if os.path.isdir(filePath):
  15. # os.removedirs(filePath)
  16. shutil.rmtree(filePath)
  17. elif os.path.isfile(filePath):
  18. os.remove(filePath)
  19. os.makedirs(filePath)
  20. # 生成唯一文件名
  21. intFlag = 0
  22. def getTimeStr():
  23. global intFlag
  24. intFlag = intFlag + 1
  25. return time.strftime("%H%M%S") + str(intFlag)
  26. # 解析HTML
  27. # HTMLParser方式解析,这里HTMLParser类似于抽象类
  28. class MyHtmlParser(HTMLParser):
  29. def handle_starttag(self, tag, attrs):
  30. '获取 img标签'
  31. if tag == "img" :
  32. for imageUrl in attrs:
  33. '获取src属性'
  34. if imageUrl[0] == 'src':
  35. imageUrl = imageUrl[1]
  36. imageUrl = re.sub("[\\\\']", "", imageUrl)
  37. iamgeUrlArr = imageUrl.split("/")
  38. imgFilePath = iamgeUrlArr[len(iamgeUrlArr) - 1]
  39. try:
  40. imgData = urllib.request.urlopen(imageUrl).read()
  41. imgFilePath = filePath + os.sep + imgFilePath + getTimeStr() + ".jpg"
  42. imageFile = open(imgFilePath, "wb")
  43. imageFile.write(imgData)
  44. imageFile.close()
  45. print("下载文件", imageUrl, "成功,另存路径:" + imgFilePath)
  46. except :
  47. print("****下载文件 ", imageUrl, " 出错:")
  48. parser = MyHtmlParser()
  49. # 解析HTML
  50. parser.feed(data)
  51. print("获取图片操作完成")

人气教程排行