| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
运行没有报错,但目录中没有图片。 
我自己测试了一下,是find_imgs(url)函数里面图片的url找不到,无论是用视频中小甲鱼的方法,还是帖子中其他人说的正则表达式。。。 
求好心人解答 
 
 
import urllib.request 
import os 
import re 
 
def url_open(url): 
    req = urllib.request.Request(url) 
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0') 
    response = urllib.request.urlopen(req) 
    html = response.read() 
    return html 
 
 
     
def get_page(url): 
    html = url_open(url).decode('utf-8') 
 
    a = html.find('current-comment-page') + 23 
    b = html.find(']',a) 
     
    return html[a:b] 
 
def find_imgs(url): 
    html = url_open(url).decode('utf-8') 
    p = r'<img src="([^"]+\.jpg)"' 
    img_addrs = re.findall(p,html) 
 
    return img_addrs 
    
 
def save_imgs(folder,img_addrs): 
    for each in img_addrs: 
        filename = each.split('/')[-1]  #[-1]表示取分隔后所得列表的最后一个成员 
        with open(filename,'wb') as f: 
            img = open_url(each) 
            f.write(img) 
 
 
 
 
 
def download_mm(folder='mm',pages=10): 
    os.mkdir(folder)    #在当前目录下创建一个新目录 
    os.chdir(folder)    #把当前路径切换到新创建的目录 
 
    url = 'http://jandan.net/ooxx/' 
    page_num = int(get_page(url)) 
 
    for i in range(pages): 
        page_num -= i 
        page_url = url + 'page-' +str(page_num) + '#comments' 
        img_addrs = find_imgs(page_url) 
        save_imgs(folder,img_addrs) 
 
 
if __name__ == '__main__': 
    download_mm() 
         
 
 |   
 
 
 
 |