鱼C论坛

 找回密码
 立即注册
查看: 1708|回复: 1

[作品展示] python爬妹子图

[复制链接]
发表于 2018-1-12 19:37:47 | 显示全部楼层 |阅读模式

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

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

x
  1. import os
  2. import urllib.request

  3. def get_html(url):
  4.     req = urllib.request.Request(url)
  5.     req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0')
  6.     response = urllib.request.urlopen(req)
  7.     html = response.read()
  8.     #print(html)
  9.     return html
  10.    
  11.    
  12. def get_img_page_list(url):
  13.     html=get_html(url).decode('gbk')
  14.     img_page_list=[]
  15.     st="<a target='_blank' href="
  16.     a=html.find(st)
  17.     while a != -1:
  18.         b=html.find('.html',a,a+255)
  19.         if b != -1:
  20.             img_page_list.append(html[a+25:b+5])
  21.         else:
  22.             b=a+25
  23.         a=html.find(st,b)
  24.     print('找到%d组网页'%len(img_page_list))
  25.     return img_page_list
  26.             

  27. def get_img_list(img_addrs):
  28.     #print('?')
  29.     html=get_html(img_addrs).decode('gbk')
  30.     A = html.find('picture')
  31.     B = html.find(r'</div>',A)
  32.     #print(A,B) 目标范围上下限
  33.     img_list=[]
  34.     a=html.find('src=',A,B)
  35.     while a != -1:
  36.         b = html.find('.jpg',a,B)
  37.         if b != -1:
  38.             img_list.append(html[a+5:b+4])
  39.         else:
  40.             b=a+5
  41.         a=html.find('src=',b,B)
  42.     #print(img_list)
  43.     return img_list
  44.         
  45.       

  46. def save_img(img_list):
  47.     for each in img_list:
  48.         st=each.split('/')
  49.         name=st[-4]+'-'+st[-3]+'-'+st[-2]+'-'+st[-1]
  50.         html=get_html(each)
  51.         #print(name)
  52.         with open(name,'wb') as f:
  53.                f.write(html)
  54.                print('save:',name)

  55. def download_mm(dirname='XXOO',wantpages=1):

  56.     if os.path.exists(dirname)==False:
  57.         os.mkdir(dirname)
  58.     os.chdir(dirname)

  59.     url='http://www.meizitu.com/a/more_1.html'
  60.     img_page_list = get_img_page_list(url)
  61.     print('将下载%d页'%(wantpages))
  62.     img_list=[]
  63.     for i in range(wantpages):
  64.         
  65.         img_list = get_img_list(img_page_list[i])
  66.         save_img(img_list)#下载图片
  67.    
  68.    

  69. if __name__ == '__main__' :
  70.     a=int(input('下载页数:'))
  71.     download_mm(wantpages=a)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-24 00:29:16 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 16:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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