学习没有动力,那吃枣是?的,学习 nodejs 的过程中,我来给大家一点提神醒脑的?

这里我是用了 cnodejs社区 最简单的爬虫小教程做基础改鳝,完成的


// 站点环境
node v6.10.2
npm v3.10.10
// 用到的魔模块
require('superagent');
require('cheerio');
require('express');
require('ejs');
require('http');
require('fs');
require('path');

初始化项目
npm init
安装模块使用
npm install 模块名 --save
启动 app.js
node app.js
你就可以愉♂快的玩耍了(文件下载链接见文章末尾)

如不知道如何使用 nodejs
Linux玩家可以看 我的这篇文章;Windows玩家可以直接去官网下载 .msi ,下一步下一步安装 直达车


基本的爬取思路

  1. 页面的分页按钮,抓到在此页出现的所有小姐姐的页面链接,存储下来
  2. 使用 eventproxy 来并发访问每个小姐姐的页面
  3. 访问的过程中,使用 cheerio(类似jquery的模块) 来匹配我们需要的图片地址 ,记录找到的所有图片地址
  4. http 去请求每张图片地址,保存二进制数据流
  5. fs将二进制数据流,输出成图片文件,文件名从原始地址提取出来
  6. 保存至 文件夹

这里我怕由于请求过于庞大,使用 express 构建静态页面提供 查询下载,降低爬取的站点被爬死的可能性

下载地址:xjj.zip

基础1: 安装

服务器信息

  1. System

CentOS release 6.9 (Final)
Kernel r on an m

  1. Configuration

Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
1G,1核 (阿里拉基云)

step 1:

这里我使用的是我大淘宝源


# 进入存放目录,我这里放在 /home/nodejs 下,放哪里看你喜好辣
cd /home/nodejs
# 下载 nodejs 二进制包
wget https://npm.taobao.org/mirrors/node/v6.10.2/node-v6.10.2-linux-x86.tar.gz
# 解压包
tar -xzvf node-v6.10.2-linux-x86.tar.gz
# 得到一个文件夹 node-v6.10.2-linux-x86,进入这个目录下的 bin 目录
cd node-v6.10.2-linux-x86/bin
# 确认下载的 nodejs 的版本无误
./node -v

step 2

现在你只能在这个目录下操作 node 呀,所以我们要加到 用户环境里


# 查看一下当前所在的目录
pwd
# 添加软连接到 /usr/local/bin
ln -s /home/nodejs/node-v6.10.2-linux-x86/bin/node /usr/local/bin/node
ln -s /home/nodejs/node-v6.10.2-linux-x86/bin/npm /usr/local/bin/npm



- 阅读剩余部分 -

少(fei)女(zhai)粉(sao) 的颜色真好看~

资费详情

22卡资费 22元/月;小电视卡资费 66元/月
1G全国流量(貌似首月再送 1G);4G全国流量(貌似首月再送 2G)
国内接听免费;国内接听免费(还送 200分钟国内通话)
省内流量1元500M;省外流量2元500M(一样)
短信和语音是一样的
再就是赠送的话费和直播特权道具有一点小区别辣
这些都是小事,关键是免流量看 bilibili (注:一个月上限好像是40G哦~)

卡包装1

卡包装2







- 阅读剩余部分 -

Git

刚才用 桌面版GitHub 手残点了个 Revert ,文件被删掉了。。。自己又在这个提交上点了次 Revert 文件又回来了。

但是自己看着这两次并没有卵用的提交,♥里痒痒,X度了一下

找到下面这个个人靠谱的方法,自己用的这种方式撤回成功

git reset --hard <commit_id>

commit_id 在 log 中是这种形式 44c7aa824b0f6383ad1eaf037185ea25cb77878f
使用 桌面版GitHub 省略至 6位数 的sha码 ,也可撤回


除了 commit_id 之外还有两种方式

--HEAD    // 最近的一次提交
--HEAD^   // 上一次的提交

没找到好用的图,随手p了个求生之路2

服务器配置: ###手上没怎么用的阿里云

  1. System

CentOS 6.5 x86_64

  1. Configuration

1h1g
disk 40G
峰值100Mbps(按需的带宽,我至今还没见过跑满的时候,还有几百块的卷都没减)

0x1. 前置操作

安装SteamCMD之前需要安装以下,觉得不麻烦的话可以 yum update 升级一下系统

CentOS x86_64(64bit)

yum install mailx postfix curl wget bzip2 gzip unzip python tmux glibc.i686 libstdc++ libstdc++.i686

CentOS x64(32bit)

yum install mailx postfix curl wget bzip2 gzip unzip python tmux libstdc++

Steam教程原话

Create a user account named steam to run SteamCMD safely, isolating it from the rest of the operating system. Do not run steamcmd while operating as the root user - to do so is a security risk.

最好不要使用 root 用户来运行 steamCMD



- 阅读剩余部分 -

入门关

入门关我就不发了吧,手机锁屏,大家都懂的


第一关

step1

第一关的难点在于进到页面就是一片空白,如果无聊的同学在空白的位置拖动鼠标会发现 有一段文字,看来是把 color设置成了白色嘛,这个就简单了,F12控制台打开


输入 document.getElementsByClassName('text-panel')[0].innerHTML 就是了这段文字了
document.getElementsByClassName('text-panel')[0].innerHTML.trim() 出来是不是没有换行符和空格辣

- 阅读剩余部分 -

Python版本: 3.5.2

假设下面是我们要连接的字符串

需要连接的字符串

一. +号连接

写过 js 的应该知道


print(text[0] + text[1] + text[2])

输出


heyheyfuckworld

不考虑内存空间的话,用用没什么,数据量庞大了,内存操作频繁,很累赘的赶脚

二. 空格连接符


print(text[0] text[1] text[2])

输出


heyheyfuckworld

这个不知道为什么,有空格和没空格都能连接#笑哭,能算是python专属吗?

三. 占位符连接

别告诉不知道 c语言的 printf("%s","str");


print("%s%s%s" % (text[0], text[1], text[2]))

输出


heyheyfuckworld

四. join函数连接

其实大家推荐的就是最好用 join() 效率高


# t是要连接字符串之间的字符
t = '-'
print(t.join(text))

输出


heyhey-fuck-world

五. *号连接

这个自己找位置用把


str = 'abc'
str * 2

输出


abcabc

┑( ̄Д  ̄)┍反正我觉得没卵子用,现在用不到把,哈哈