python IO

    filename = path + res.group()
    #f = file(filename, 'r+')
    #f = open(filename, 'r+')
    f = file(filename, 'wb')
    #f = open(filename, 'wb')  
    f.write(content)
    f.flush()
    f.close()  

文件权限一定要对啊。不然爬出来的全身马赛克和不能看。

文件权限:

模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式.
r+ 打开一个文件用于读写。文件指针将会放在文件的开头.
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写.

看到CSDN支持markdown了,顺带体验下。

模式 描述
此处实现方法利用 CSDN-markdown 内嵌 html 语言的优势 Hotpink
借助 table, tr, td 等表格标签的 bgcolor 属性实现背景色设置 AntiqueWhite

颜色表 http://blog.csdn.net/thither_shore/article/details/52328313

完整下载美女源代码

#  -*- coding: utf-8 -*- 
'''
@Copyright © 2017 sanbo Inc. All rights reserved.
@Description: 下载美女图片,大图不要缩略图{调整代码结构}
@Version: 1.0
@Create: 2017年1月2日 上午3:17:31 
@Author: sanbo
'''
from bs4 import BeautifulSoup  
import urllib2  
import os.path

'''
    解析高清地址,并且去下载
'''
def process(url):
    response = urllib2.urlopen(url) 
    html = response.read()  
    soup1 = BeautifulSoup(html, "lxml")
    someData = soup1.select("div.pic-image img")
    allUrls = []
    for some in someData:
        tempUrl = some['src']
        if tempUrl not in allUrls:
            download(tempUrl)

'''
增加去重,增加解析大图片详情地址
'''
def getUrls(n):
    url = 'http://www.4j4j.cn/beauty/tag_3_' + str(n) + '.html' 
    response = urllib2.urlopen(url)  
    html = response.read()  
    soup1 = BeautifulSoup(html, "lxml")
    someData = soup1.select("div.i-list li a")
    allUrls = []  
    for some in someData:
        tempUrl = some['href']
        if "javascript" not in tempUrl:
            if tempUrl not in allUrls:
                allUrls.append(tempUrl);
    return allUrls

def download(url):  
    global number  
    number += 1
    path = 'D:/girls/'
    #如果没有文件夹则创建
    if not  os.path.exists(path):
        #貌似linux 是 os.path.mkdir(path)
        #os.mkdir(path)
        os.mkdir(path)
    #content = urllib2.urlopen(url).read()
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36',
        'Cookie': 'AspxAutoDetectCookieSupport=1',
    }
    request = urllib2.Request(url, None, header)
    content = urllib2.urlopen(request).read()
    filename = path + str(number) + '.jpg'  
    print 'download [' + filename + ']===>' + url
    f = open(filename, 'wb') #这种模式可以正常下载图片
    f.write(content)
    f.flush()
    f.close() 

if __name__ == '__main__':
    number = 1
    for i in range(75):
        urls = getUrls(i)
        for u in range(len(urls)):
            process(urls[u])

你可能感兴趣的:(python)