zoukankan      html  css  js  c++  java
  • 下载妹子图

     1 #导入要使用的模块
     2 import urllib.request
     3 import os
     4 
     5 #定义一个打开页面的函数
     6 def url_open(url):
     7     #找到页面地址,首先要打开地址,加入User-Agent
     8     urllib.request.Request(url,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.108 Safari/537.36 2345Explorer/8.5.0.15179'})
     9     response = urllib.request.urlopen(url)
    10     html = response.read()
    11     return html
    12 
    13 #定义找到页面地址的函数,返回一个页面数字供拼成页面url
    14 def find_pages(url):
    15     html = url_open(url).decode('utf-8')  
    16     a = html.find('current-comment-page') + 23
    17     b = html.find(']',a)
    18     return html[a:b]
    19 
    20 #定义找到图片地址的函数,找到图片的地址,返回一个图片列表
    21 def find_imgs(pages_url):
    22     #根据页面地址,查找图片地址
    23     html = url_open(pages_url).decode('utf-8')
    24     img_addrs= []
    25     a = html.find('img src=')
    26     while a!= -1:
    27         
    28         b = html.find('.jpg', a, a+255)
    29         if b != -1:
    30             img_addrs.append(html[a+9:b+4])
    31         else:
    32             b  = a + 9
    33             
    34         a = html.find('img src=',b)        
    35     return img_addrs
    36     
    37 
    38 #定义保存图片的函数,把图片列表中的图片地址保存成一张张图片
    39 def save_imgs(folder,img_addrs):
    40     for each in img_addrs:
    41         filename = each.split('/')[-1]
    42         with open(filename,'wb') as f:
    43             img_url = 'http:'+ each
    44             f.write(url_open(img_url))
    45 
    46 
    47 #声明主函数,下载妹纸图
    48 def download(folder = 'meizi',pages =10):
    49     os.mkdir(folder)
    50     os.chdir(folder)
    51 
    52     #要查找的网站
    53 
    54     url='http://jandan.net/ooxx'
    55 
    56     #光有要查找的网站主页是不够的,还需要知道其具体的页面数字    
    57     for i in range(pages):
    58         #遍历一个递增的数字,获取当前页面的数字,逐渐减去递增数字
    59         current_pages_num = int(find_pages(url)) - i
    60         #拼成当前页面的地址       
    61         pages_url = url + '/page-' + str(current_pages_num) + '#comments'
    62 
    63         #通过页面地址查找到图片地址,返回图片列表
    64         img_addrs = find_imgs(pages_url)
    65 
    66         #有了图片列表后,就需要保存下来
    67         save_imgs(folder,img_addrs)
    68 
    69 if __name__ == '__main__':
    70     download()
    71     
    72     
  • 相关阅读:
    R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析
    用R语言用Nelson Siegel和线性插值模型对债券价格和收益率建模
    R语言LME4混合效应模型研究教师的受欢迎程度
    R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例
    R语言中的Nelson-Siegel模型在汇率预测的应用
    R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
    LNMP搭建
    php高性能开发阅读笔记
    php 关于经纬度距离计算方法
    在已经部署svn 服务器上,搭建svn项目 成功版
  • 原文地址:https://www.cnblogs.com/themost/p/6737383.html
Copyright © 2011-2022 走看看