注意:
1.由于是python2.7写的,请不要把文件名字改成中文,否则有可能闪退或执行不成功。
2.
由于是python2.7写的,请不要存放在带有中文的路径中,比如桌面,就有可能执行不成功。可以尝试放到任何一个盘的根目录再测试。2017年10月12日更新: (版本号:mztSpider_v1.0.exe)
1.把程序打包成EXE文件.
2.因为scrapy不能打包成单个EXE环境,所以将文件修改成单文件,并采用多线程.
EXE文件下载地址:
链接: https://pan.baidu.com/s/1bpvYlNh 密码: fxn2

2017年10月13日更新: (版本号:mztSpider_v1.1.exe)
1.增加由用户输入起始页.
2.重新引入sys包设置编码,解决部分用户乱码和闪退问题.
3.取页面图片个数规则重新调整,解决部分用户爬取到一半程序会退出问题
EXE文件下载地址:
链接: https://pan.baidu.com/s/1bpvYlNh 密码: fxn2

2017年10月13日更新: (版本号:mmjpgSpider_v1.0.exe)
1.更改爬取链接
2.把爬取代码提取成方法

EXE文件下载地址:
链接: https://pan.baidu.com/s/1bpvYlNh 密码: fxn2

 

更新后效果图:

爬行效果图:

 

scrapy Spider完整代码:

# -*- coding: utf-8 -*-
import requests
import os
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
 
 
class MzituSpider(CrawlSpider):
    name = 'mzituSpider'
    start_urls = ['http://www.mzitu.com/']
    rules = (Rule(LinkExtractor(allow=('http://www.mzitu.com/\d{1,6}',), ), callback='parse_item', follow=True),)
 
    def header(self, referer):
        headers = {
            'Host': 'i.meizitu.net',
            'Pragma': 'no-cache',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6',
            'Cache-Control': 'no-cache',
            'Connection': 'keep-alive',
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',
            'Accept': 'image/webp,image/apng,image/*,*/*;q=0.8',
            'Referer': '{}'.format(referer),
        }
        return headers
 
    def parse_item(self, response):
        imageUrl = response.css(".main-image img ::attr(src)").extract_first()
        with open('images' + os.sep + imageUrl.split('/')[-1], "wb+") as jpg:
            jpg.write(requests.get(imageUrl, headers=self.header(imageUrl)).content)

以下方法不需要了,直接下载EXE文件执行就行了.执行方法:
1.必须安装scrapy。
2.scrapy startproject   mzitu
3.cd mzitu
4.scrapy genspider mzituSpider www.mzitu.com
5.在spider下会生成一个mzituSpider.py的文件,把上面的内容替换一下就可以执行了。
6.scrapy crawl mzituSpider
感觉没有点基础的会有点难。我决定折腾下看是不是可以打包成Exe文件,给大家发出来。。。
不过这玩意爬的人多了不知道会不会把人家妹子图站给爬死去。。要是人家用阿里云 ,每个整个5G的上行流量费用也得好几块哈。