鱼C论坛

 找回密码
 立即注册
查看: 817|回复: 0

[作品展示] 妹子图作业,大佬们来给指教指教

[复制链接]
发表于 2019-6-13 14:18:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import urllib.request
  2. import os
  3. import re
  4. #打开连接不解码
  5. def urlopen(url):
  6.         req=urllib.request.Request(url)
  7.         req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36")
  8.         respones=urllib.request.urlopen(url)
  9.         html = respones.read()
  10.         print(url)
  11.         return html
  12. #获取最新页码数
  13. def getpage(url):
  14.         html = urlopen(url).decode('utf-8')
  15.         a = re.findall(r'class="current-comment-page">\[(\d+)\]',html)
  16.         return a[0]
  17. #获取图片地址,返回当前页图片地址列表
  18. def findimg(page_url):
  19.         html = urlopen(page_url).decode('utf-8')
  20.         imgurl = re.findall(r'img src="(//\S{3}\.sinaimg\.cn/(\w){5,10}/(\w+)\.(jpg|gif))',html)
  21.         res=[]
  22.         for i in range(len(imgurl)):
  23.                 res.append(imgurl[i][0])
  24.         return res
  25. #保存图片
  26. def save_imgs(dirs,imgs):
  27.         for i in range(len(imgs)):
  28.                 with open(str(i)+"."+imgs[i][-3:],"wb") as f:
  29.                         html = urlopen("http:"+imgs[i])
  30.                         f.write(html)
  31. #主函数
  32. def download_mm(dirs = 'ooxx',page=10):
  33.         try:
  34.                 os.mkdir(dirs)
  35.         except FileExistsError:
  36.                 pass
  37.         os.chdir(dirs)
  38.         url="http://jandan.net/ooxx"
  39.         pagenum=int(getpage(url))
  40.         imglist=[]
  41.         for i in range(page):
  42.                 pagenum -= 1
  43.                 page_url=url + "/page-" + str(pagenum) + "#comments"
  44.                 img_adders = findimg(page_url)
  45.                 imglist.append(img_adders)
  46.         reslist=[]
  47.         for i in range(len(imglist)):
  48.                 for s in range(len(imglist[i])):
  49.                         reslist.append(imglist[i][s])

  50.         save_imgs(dirs,reslist)
  51. if __name__ == '__main__':
  52.         download_mm()
复制代码

大佬给批改批改,还没学到的也可以一起交流学习
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 06:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表