1. # This is a sample Python script.
    2. # Press Alt+Shift+X to execute it or replace it with your code.
    3. # Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
    4. def print_hi(name):
    5. # Use a breakpoint in the code line below to debug your script.
    6. print(f'Hi, {name}') # Press Ctrl+Shift+B to toggle the breakpoint.
    7. def saveImages():
    8. imageUrls = [
    9. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a1.gif",
    10. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a2.gif",
    11. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a3.gif",
    12. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a4.gif",
    13. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a5.gif",
    14. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a6.gif",
    15. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a7.gif",
    16. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a8.gif",
    17. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a9.gif",
    18. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a10.gif",
    19. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a11.gif",
    20. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a12.gif",
    21. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a13.gif",
    22. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a14.gif",
    23. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a15.gif",
    24. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a16.gif",
    25. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a17.gif",
    26. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a18.gif",
    27. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a19.gif",
    28. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a20.gif",
    29. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a21.gif",
    30. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a22.gif",
    31. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a23.gif",
    32. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a24.gif",
    33. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a25.gif",
    34. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a26.gif",
    35. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a27.gif",
    36. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a28.gif",
    37. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a29.gif",
    38. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a30.gif",
    39. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a31.gif",
    40. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a62.gif",
    41. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a63.gif",
    42. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a64.gif",
    43. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a65.gif",
    44. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a66.gif",
    45. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a67.gif",
    46. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a68.gif",
    47. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a69.gif",
    48. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a70.gif",
    49. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a71.gif",
    50. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a72.gif",
    51. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a73.gif",
    52. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a74.gif",
    53. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a75.gif",
    54. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a76.gif",
    55. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a77.gif",
    56. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a78.gif",
    57. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a79.gif",
    58. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a80.gif",
    59. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a81.gif",
    60. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a82.gif",
    61. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a83.gif",
    62. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a84.gif",
    63. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a85.gif",
    64. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a86.gif",
    65. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a87.gif",
    66. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a88.gif",
    67. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a89.gif",
    68. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a90.gif",
    69. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a91.gif",
    70. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a92.gif",
    71. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a93.gif",
    72. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a94.gif",
    73. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a95.gif",
    74. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a96.gif",
    75. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a97.gif",
    76. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a98.gif",
    77. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a99.gif",
    78. "https://www.mayiwenku.com/FileRoot2/2020-10/31/d94fa880-f955-4d36-9349-572802bd912a/d94fa880-f955-4d36-9349-572802bd912a100.gif"
    79. ]
    80. i = 1
    81. for url in imageUrls:
    82. import ssl
    83. context = ssl._create_unverified_context
    84. import urllib.request
    85. import os
    86. if not os.path.exists("img"):
    87. os.mkdir("img")
    88. respone = urllib.request.urlopen(url, context=context)
    89. file = f"img/{i}.gif"
    90. with open(file, "wb") as f:
    91. f.write(respone.data)
    92. i+=1
    93. def convertGifToPngDemo():
    94. from PIL import Image
    95. # 将gif图片转成PNG图片
    96. im = Image.open(r"C:\Users\DELL\Desktop\题\00054 2015-2017\00054管理学原理历年试题及答案(20152017)_第1页.gif")
    97. def iter_frames(im):
    98. try:
    99. i = 0
    100. while 1:
    101. im.seek(i)
    102. imframe = im.copy()
    103. if i == 0:
    104. palette = imframe.getpalette()
    105. else:
    106. imframe.putpalette(palette)
    107. yield imframe
    108. i += 1
    109. except EOFError:
    110. pass
    111. for i, frame in enumerate(iter_frames(im)):
    112. frame.save('00054管理学原理历年试题及答案(20152017)_第1页.png', **frame.info)
    113. def convertGifToPng(gifPath, outDir):
    114. import os
    115. gifs = os.listdir(gifPath)
    116. from PIL import Image
    117. for gif in gifs:
    118. # 将gif图片转成PNG图片
    119. im = Image.open(os.path.join(gifPath, gif))
    120. def iter_frames(im):
    121. try:
    122. i = 0
    123. while 1:
    124. im.seek(i)
    125. imframe = im.copy()
    126. if i == 0:
    127. palette = imframe.getpalette()
    128. else:
    129. imframe.putpalette(palette)
    130. yield imframe
    131. i += 1
    132. except EOFError:
    133. pass
    134. for i, frame in enumerate(iter_frames(im)):
    135. frame.save(os.path.join(outDir, f'{gif[0:-3]}png'), **frame.info)
    136. def generatePdfFromImgs(imgPath, outFileName):
    137. from fpdf import FPDF
    138. import os
    139. pdf = FPDF(orientation="l")
    140. pdf.set_auto_page_break(0) # 自动分页设为False
    141. imagelist = [i for i in os.listdir(imgPath)]
    142. imagelist.sort(key = lambda x: len(x))
    143. for image in imagelist:
    144. # print(image[0:-3])
    145. # os.rename(os.path.join(imgPath, image), os.path.join(imgPath, image[0:-3]+"gif"))
    146. print(image)
    147. pdf.add_page()
    148. # pdf.image(os.path.join(imgPath, image), w=190, h=150) # 指定宽高
    149. pdf.image(os.path.join(imgPath, image)) # 指定宽高
    150. pdf.output(os.path.join(imgPath, outFileName), "F")
    151. pass
    152. # Press the green button in the gutter to run the script.
    153. if __name__ == '__main__':
    154. print_hi('PyCharm')
    155. # saveImages()
    156. # convertGifToPngDemo()
    157. # convertGifToPng(r"C:\Users\DELL\Desktop\题\00054 2015-2017", r"C:\Users\DELL\Desktop\题\00054 2015-2017\png")
    158. generatePdfFromImgs(r"C:\Users\DELL\Desktop\题\00054 2015-2017\png", "my.pdf")
    159. # See PyCharm help at https://www.jetbrains.com/help/pycharm/