Rat's

采集各种美女图片站并下载图片、自动搭建属于自己的图片站
说明:距离上次给男同学们分享爬虫福利已经有一年多了,福利就自己在博客翻下,现在再分享个大佬的爬虫项目,可以爬取mm...
扫描右侧二维码阅读全文
14
2019/03

采集各种美女图片站并下载图片、自动搭建属于自己的图片站

说明:距离上次给男同学们分享爬虫福利已经有一年多了,福利就自己在博客翻下,现在再分享个大佬的爬虫项目,可以爬取mm131mmjpg、妹子图等各大美女图片站,然后下载图片后,自动帮你发布并搭建一个属于你自己的图片站,该项目作者也在长期维护,貌似正在对接OneDrive,还是很不错的,如果营养快线多的可以自己搭建个慢慢欣赏吧。

截图

请输入图片描述

说明

项目地址:https://git.coding.net/zxy_coding/94imm.git

环境要求:Python 3.6Mysql 5.5+Nginx/Apache(非必需),本文只说CentOS 6/7Debian 8/9

这里使用宝塔和手动2种方法安装,如果你需要快速上手就使用手动安装,想操作方便就宝塔,自行选择。

安装环境

1、使用宝塔安装

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件管理,然后安装Mysql 5.5+Nginx(如果你使用域名的话,就需要安装)。

然后点击左侧数据库-添加数据库,设置好数据库信息。

2、手动安装环境

提示:为了简单,这里采用Mysql 5.7+Caddy环境,这里也是,如果你需要使用到域名才安装Caddy。

这里博主是用的Mysql 5.7,如果内存很低,5.7跑起来会有点吃力,建议增加点虚拟内存,可以用下Swap一键脚本→传送门

安装Mysql 5.7

#CentOS 6系统
rpm -ivh http://repo.mysql.com/mysql57-community-release-el6.rpm
yum install mysql-community-server -y
service mysqld start
chkconfig mysqld on

#CentOS 7系统
rpm -ivh http://repo.mysql.com/mysql57-community-release-el7.rpm
yum install mysql-community-server -y
systemctl start mysql
systemctl enable mysql

#Debian 8系统
echo 'deb http://repo.mysql.com/apt/debian/ jessie mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ jessie mysql-5.7' >/etc/apt/sources.list.d/mysql.list
wget https://repo.mysql.com/RPM-GPG-KEY-mysql
apt-key add RPM-GPG-KEY-mysql
apt update
#安装的时候会要你输入数据库密码
apt install mysql-server -y

#Debian 9系统
echo 'deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7' >/etc/apt/sources.list.d/mysql.list
wget https://repo.mysql.com/RPM-GPG-KEY-mysql
apt-key add RPM-GPG-KEY-mysql
apt update
#安装的时候会要你输入数据库密码
apt install mysql-server -y

这里CentOS安装MySQL 5.7的时候会生成一个随机密码,使用命令查看:

grep "password" /var/log/mysqld.log
#大致信息,******为密码
[Note] A temporary password is generated for root@localhost: ******

然后CentOS还需要修改数据库密码:

#登录数据库,输入你上面看到的密码
mysql -u root -p
#稍微设置密码难度下,不然修改的时候,密码必须很复杂才行
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
#修改密码为moerats
mysql> set password=password("moerats");
#退出数据库
mysql> exit;

#CentOS 6重启数据库
service mysqld restart
#CentOS 7重启数据库
systemctl restart mysql

创建新的数据库,使用命令:

#创建94imm数据库,moerats为数据库密码,自行修改
mysql -uroot -pmoerats
mysql > create database 94imm;
#退出
mysql > exit;

此时Mysql 5.7算是安装完成了。

安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

搭建站点

1、安装Python3
为了避免下面依赖安装出错,这里就不使用软件包安装Python3了,直接就使用脚本安装,使用命令:

#CentOS系统
wget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debian系统
wget https://www.moerats.com/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh

2、搭建站点

#下载源码
git clone https://git.coding.net/zxy_coding/94imm.git
#安装依赖
cd 94imm
pip3 install -r requirements.txt
#导入目录的数据库文件,这里数据库名94imm,用户名和密码root、moerats,请自行修改
mysql -uroot -pmoerats 94imm < silumz.sql
#编辑配置文件
nano silumz/settings.py

填上你的数据库信息,大致如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '94imm',
        'USER': 'root',
        'PASSWORD': 'moerats',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

再使用Ctrl+xy保存退出。

编辑启动配置文件,使用命令:

nano uwsgi.ini

然后看着改,大致修改如下:

#配置文件默认是将源码放在root目录,如果在其他目录可以自行修改
#如果你要是用ip访问,将127.0.0.1:8000改成http=0.0.0.0:8000,端口也可以改

启动程序:

uwsgi --ini uwsgi.ini

此时站点地址为ip:8000

3、域名反代

提示:不需要域名的跳过该步骤

宝塔面板设置:
然后点击左侧网站-添加站点,填上你的域名,其他默认,然后点击域名设置-反向代理,url设置http://127.0.0.1:8000即可。然后打开你的域名就可以看到站点了。

Caddy设置:

#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!且会自动给你配置ssl证书
echo "www.moerats.com {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:8000
}" > /usr/local/caddy/Caddyfile

#启动Caddy
/etc/init.d/caddy start

采集发布

光搭建站点是不够的,还需要采集并自动发布图片,爬虫和发布脚本在crawler目录,详细脚本说明:

crawler开头的脚本为图片采集爬虫,然后也会自动给你发布到文章,目前有6个美女站的爬虫脚本,后期可能会更多
AutoPost.py为自动发布脚本,将你本地的图片自动发布到搭建的站点中
Compress.py为图片压缩脚本,可以自动压缩图片,减少硬盘占用

这里以mm131爬虫脚本为例,先编辑crawler_mm131.py爬虫脚本。

cd crawler
nano crawler_mm131.py

大致修改如下:

#修改为你的数据库连接信息
dbhost = {
    "host": "127.0.0.1",
    "dbname": "94imm",
    "user": "root",
    "password": "moerats"
}
#修改爬取的页数和图片保存路径,page为页数,img_path为路径,自行修改
for i in [{"page": 1, "type": "xinggan", "type_id": 1}, {"page": 1, "type": "qingchun", "type_id": 3},
          {"page": 1, "type": "xiaohua", "type_id": 3}, {"page": 1, "type": "chemo", "type_id": 1},
          {"page": 1, "type": "qipao", "type_id": 2}, {"page": 1, "type": "mingxing", "type_id": 1}]:
spider=Spider(page_num=i.get("page"),img_path='/static/images/mm131/',thread_num=10,type_id=i.get("type_id"),type=i.get("type"))

然后开始采集并自动发布到程序,使用命令:

#其它爬虫使用方法也都一样
python3 crawler_mm131.py

然后就可以再图片站看到你的图片了,要是不显示的话,可以尝试删除cache目录里的缓存文件。

如果你的硬盘空间很小,可以使用压缩脚本压缩下,使用命令:

#压缩时,会要你选择图片等路径
python3 Compress.py

如果压缩报错No module named 'PIL',那需要先使用命令pip3 install Pillow

如果你要发布你本地的图片,就需要编辑AutoPost.py,填上你的数据库信息,再使用python3 AutoPost.py发布即可。

最后你运行爬虫脚本的时候出现UnicodeEncodeError: 'ascii' codec can't encode错误,那就需要先将系统的默认语言环境编码设置为UTF-8格式,使用命令:

echo 'export LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8' >> /etc/profile
source /etc/profile

其他说明

对于修改模板,目前模板总共有3套,位于templates文件夹下,需要先修改silumzsettings文件中的模板配置。

#94imm为模板名
TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'templates'+"/"+"94imm")]

然后将模板目录下的pagination.html文件放入python安装目录的pagination下。

一般为/usr/local/lib/python3.6/site-packages/dj_pagination/templates/pagination

然后自己修改模板,模板为html文件,可在页面添加统计代码和广告代码。

对于想了解更多的,或者修改模板,爬虫分类、数据库的可以看下以下参考文章:

https://www.dablog.cn/index.php/archives/7/
https://sunsea.im/139/94imm_tips/
Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2019 年 03 月 20 日 11 : 09 AM

发表评论

45 条评论

  1. 固态水

    营养更不上, 博主应该搞个活动, 赠送营养快线

    1. Rat's
      @固态水

      看我玩博客越玩越穷,哪送的起

  2. 西瓜

    只有美女图片,没有帅哥图库吗

    1. Rat's
      @西瓜

      冒油,这个就需要女装大佬搞了

  3. 菜鸡

    装了几次都不能正常访问呀。很奇怪。防火墙也都开了。

    1. Rat's
      @菜鸡

      那估计是你有步骤出了问题

  4. chance

    老大什么时候把这个封装成docker就方便了

    1. Rat's
      @chance

      这种需求暂时不是很大,先不搞docker

  5. chance

    抓后图片发布没有中文标题,全是数字编号。。。抓的图好像没有演示站的那么清晰

    1. Rat's
      @chance

      这个直接运行爬虫就行了,自动发布,然后标题就是中文。如果你用的自动发布本地图片的脚本,那就显示文件夹编号

  6. jiayu

    这个比较强大了,一直想研究下如何采集图片视频。最近电影站好像泛滥了

  7. 特别感谢

    安装完以后的首页与演示的不一样。。。。

    1. Rat's
      @特别感谢

      我就用的默认主题,应该不会变吧

      1. 特别感谢
        @Rat's

        用的是宝塔689

      2. 特别感谢
        @Rat's

        安装的和作者的演示的模板不一样。。修改以后就好了。。。

        还有个问题机器猫。。我的是1.5G内存,不能安装mysql5.7,用你的sh增加虚拟内存2048,还不可以能安装5.7.。。请问机器猫还有什么办法吗?

        1. Rat's
          @特别感谢

          我记得Mysql 5.5+都行,你试试5.6

          1. 特别感谢
            @Rat's

            试过了。。5.5可行

  8. GYGYK

    能再更新個爬pornhub的網站嗎?(滑稽)

    1. Rat's
      @GYGYK

      github欢迎你

      1. GYGYK
        @Rat's

        我在github上找不到。。

        1. Rat's
          @GYGYK

          我记得很多的

  9. 黄盗人

    很容易出错,一直都不成功,卡ip访问不到那里了,可能没喝营养快线

    1. Rat's
      @黄盗人

      访问不了吗,看下防火墙啥的

      1. 黄盗人
        @Rat's

        有了有了,还真是防火墙

  10. 过客

    如果不对接微软网盘,我想我的服务器压根就受不了。。。。。

    1. Rat's
      @过客

      世界加钱可及

  11. 自媒体之家

    过来看看你的网站,做的不错,求带

    1. Rat's
      @自媒体之家

      你带我吧

  12. Tanner

    项目地址404了

    1. Rat's
      @Tanner

      我少写了几个字,改好了

  13. G

    大佬 有没有可能用CP面板搭建这个?

    1. 文海如
      @G

      明显不可能,你是虚拟空间吧…

    2. Rat's
      @G

      能装Mysql 5.7就行

      1. G
        @Rat's

        大佬 CP面板能出个教程吗?手头有几个没用的面板,想搭一个试试。

        1. Rat's
          @G

          这种教程一般不咋出重复的了,你试试宝塔吧,或者直接编译

  14. DogEgg

    你要是聊这个,我可就不困了

  15. tracymccn

    营养跟不上,我还是看看就算了

    1. Rat's
      @tracymccn

      多喝点营养快线就行了

  16. k

    能写个firefox send的教程嘛

    1. Rat's
      @k

      可以,有源码地址吗

  17. arrowarrow

    不装caddy,用nginx可以装吗?怎么改呢

    1. Rat's
      @arrowarrow

      可以用nginx,你什么系统?建议百度下

      1. arrowarrow
        @Rat's

        debian 8.11

  18. 瞎折腾

    沙发,94imm在收藏夹放了好久了

    1. Rat's
      @瞎折腾

      我也是好久了,最近才发现我还收藏了这个