Hike News

Python3 爬取知乎回答下面的评论

这个迫真爬虫是年前用了和 req-ccnu 一样的方法写的(隐藏api+模拟登陆),他们都有一个特点,就是处理 curl 后,后端返回的 json。当时没有看面向对象也没有学语法,所以以后要好好学 bs4,lxml,scrapy 写真正意义上的爬虫。#flag
简单的源代码:https://github.com/wwyqianqian/ShuYu/blob/master/ZhiHuCom2File.py
后端返回字典:https://github.com/wwyqianqian/ShuYu/blob/master/ZHC.js
本文记录当时遇到的两个小问题,全是编码相关:

  • 第一个是调试时候终端打印出奇怪的字符,解决办法是在 header 里面去掉
    'accept-encoding': 'gzip, deflate, br',
    因为 requests 会自己加上 gzip(但 gzip 解压是自动的)。手动传了 requests 就假设自己处理压缩了,去掉后,这样返回内容就不会经过编码。

  • 第二个问题是,实际运行时候,有的评论会正确爬取,有的会爬出乱码,这说明代码逻辑没有问题,又是编码的错误,应该如何解决呢?

    1
    2
    3
    4
    40. 为什么不做成猫粮狗粮?
    41. èµ°é¤�é¦†æ¸ é�“,特别是ç�«é”…,酸è�œé±¼
    42. 鱼丸啊。
    43. 没有消失。都转到了农�

原因就是翻页时候 Requests 检测不到正确的编码,而且知乎又没有限定编码,所以需要我们自己手动限定,加上一句 reponse.encoding = 'utf-8' 就好了。
改过之后就可以正确运行啦~


requests 源代码节选:https://github.com/requests/requests/blob/75bdc998e2d430a35d869b2abf1779bd0d34890e/requests/utils.py#L855

这个猜测的代码先取了四个字节,通过看 \0 的个数来判断是不是某个编码,然后 requests 没有选出来合适的 encoding,于是得到 none。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def guess_json_utf(data):
"""
:rtype: str
"""
# JSON always starts with two ASCII characters, so detection is as
# easy as counting the nulls and from their location and count
# determine the encoding. Also detect a BOM, if present.
sample = data[:4]
if sample in (codecs.BOM_UTF32_LE, codecs.BOM_UTF32_BE):
return 'utf-32' # BOM included
if sample[:3] == codecs.BOM_UTF8:
return 'utf-8-sig' # BOM included, MS style (discouraged)
if sample[:2] in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE):
return 'utf-16' # BOM included
nullcount = sample.count(_null)
if nullcount == 0:
return 'utf-8'
if nullcount == 2:
if sample[::2] == _null2: # 1st and 3rd are null
return 'utf-16-be'
if sample[1::2] == _null2: # 2nd and 4th are null
return 'utf-16-le'
# Did not detect 2 valid UTF-16 ascii-range characters
if nullcount == 3:
if sample[:3] == _null3:
return 'utf-32-be'
if sample[1:] == _null3:
return 'utf-32-le'
# Did not detect a valid UTF-32 ascii-range character
return None
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def get_encoding_from_headers(headers):
"""Returns encodings from given HTTP Header Dict.
:param headers: dictionary to extract encoding from.
:rtype: str
"""
content_type = headers.get('content-type')
if not content_type:
return None
content_type, params = _parse_content_type_header(content_type)
if 'charset' in params:
return params['charset'].strip("'\"")
if 'text' in content_type:
return 'ISO-8859-1'
def stream_decode_response_unicode(iterator, r):
"""Stream decodes a iterator."""
if r.encoding is None:
for item in iterator:
yield item
return
decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace')
for chunk in iterator:
rv = decoder.decode(chunk)
if rv:
yield rv
rv = decoder.decode(b'', final=True)
if rv:
yield rv

Assessment-and-Progress-Records

引子

自己大二上其实课程很少,但是也是显得很忙的样子,每天忙忙碌碌疲倦不堪,沉浸在「我很累」的自我陶醉里,也不知道到底在忙什么。最近很开心被靠谱的同学和超赞的导师拉入了计算新闻组,于是大概可以静下心,开篇婆婆妈妈的博客记录一下学习进度,以后也方便回忆那年的那段时间自己做了什么。


记录正文

11.29-12.05

新人入组,第一个任务也许算老人眼里的简单,不过也够我们新人喝一壶。学长给了他写好的 py2 爬虫代码,让我和专题组的玥璇每人负责爬 5 类。吃老本改了 UA、Cookie,找微博 repostTimeline 的 api,终于跑通了代码。但是单个爬起来很慢,这个时候脑子第一个想法就觉得可以使用 screen 命令,脑子里又飘过了 systemd,但是又不会(一年前就不会,懒哭了),这点存疑。

第二点肯定有的想法是,心疼自己电脑+害怕突然断网+晚上电脑要合上盖子,于是就想丢在 VPS 里面跑,但是跑完的结果如何下载呢?第一反应是 eq 维护的 caddy,可是害怕自己不会配置浪费时间(事实上这歩真的走错了,当时就应该用 caddy 的),就想到了之前下载 searching 那部电影时候用过 Nginx,结果退步的自己浪费 2h 也没搞好,最后找我的红心苕 ssh 进来修好了,大概是我配置文件写错了,而且位置也错了。总之一天半的折腾后,终于及时交差,等着明天的组会安排下周任务。买的 py 书到了,可惜还没看,最近期末事情越来越多欸……

12.06-2.12

残忍的期末考和愉快的春节期间,断断续续也接了几个学长安排的任务,大部分和上次一样,都是爬微博转发 + 评论 + 用户,另外一个附加任务是学习并自己写某指定网站的评论爬取代码,我选择了知乎,当时遇到了一点点小问题,现在另开一个博客文章记录一下。说实话以前没有好好看过 py 语法,寒假拿出几天时间把之前买的书前十章看完了,应该还是有点浅,不过一些小细节也是曾经完全不知道的。也准备另开一文整理一下。想要深入的话,https://python3-cookbook.readthedocs.io/zh_CN/latest/index.html 立 flag 看完 cookbook。

PT初试水

两个月之前,群里一阵骚动,原来是因为某个 pt 站开放注册了。作为没有玩过 bt、pt 的千千,这次就想考古注册个号玩玩。

开放注册的正是南洋 pt,西安交大的公网站(不是只能教育网,此处对比六维空间),v4v6都可以。开放注册的时间段内只要有 edu 邮箱,基本上可以稳注册。之后登录进去会有简单的新人考核:上传、下载量和魔力豆需要达到一定的值(南洋这里是 30 G,魔力 3000)。考核是为了让新人养成不吸血的习惯,多多上传勤于挂机做贡献。

接下来就要开始下载做种了。那么应该选择什么客户端呢?我首先准备在本地下载,于是下载了两个客户端 uTorrent、Vuze,很奇怪都没速度,加上心疼自己的硬盘,我决定:不如挂 VPS 里吧。要看好商家的 ToS(Terms of Service)哦。其实真正的大佬都是放在种子盒子里,呜呜他们都有杜甫,而我作为体验玩家,就简单地放小鸡里面跑吧。

千千当时开的小鸡都是 Debian 系的,首先听 @wbcl 的话下载了 transmission,tr 的配置简直要把我搞晕,直到后来按照官方文档 xjb 翻译了一下配置文件,https://github.com/wwyqianqian/Private-Tracker-configuration/blob/master/options.zh-CN.md ,最后勉强跑了起来,二十天完成了南洋的新人考核。

后来啊,彼得大佬给了我 ipt 的邀请,南洋里面的大佬给了我武大珞樱和 OurBits 的药。每次配置 tr 有点小麻烦,所以把 tr 换成了 deluge,后者的配置简直不要太简单,从新建小鸡到跑起下载总共不到 5 分钟就能搞定。简单写了一份如何在 VPS 中配置好并跑起 pt 的新人指南:https://github.com/wwyqianqian/Private-Tracker-configuration ,希望能帮到新人,同时自己也记录下来备忘。

说说后三个站,ipt 是面向全球的外网站,要注意 H&R 规则;武大珞樱没有新人考核,前几天换了域名,由于某些原因感觉药丸甚至不知能活多久,群里一片伤感;ob 也是国内的公网站,速度比教育网的快一些,新人考核要求比较苛刻。

说说圈子文化,上传量高的、魔力多的就是大佬,可以发邀(药)请,受人恭维;管理层掌握权力,进行审核、封号什么的;男多女少,见到女生玩 pt 像见到鬼似的。但是毕竟是小圈子,大家都是奉献大于索取的,无可厚非。

最后,一入 pt 深似海,想起群里大佬问我“你为什么玩 pt?”,我思考半天,woc我不想玩啊人家只是考古的!毕竟下载了也没时间看,这边还有订阅 Netflix,大佬又说“你不能为了挂而挂啊!”,赶紧亡羊补牢及时止损。小水管一点点的上传量就相当于积德吧。ob 的号我不要了(被给我发药的“大佬”恶心到),南洋ipt珞樱的 power user 绰绰有余。玩个龟龟,再您的见!

再见ob

从 zsh 到 fish shell

很扯淡的前言:本文是一篇很随意的文章。大概是前几天一个晚上,杰哥唐突说:“没有配置过的 zsh 就是 shit,甚至不如 bash,如果使用的是没有配置过的 zsh,那么你的人生令人难过,我是佛祖 我拯救你 快换fish”,妈耶吓死千千了,于是抱着猎奇的心态,我就这样下载了一次 fish。

下载 fish shell

之前我的电脑终端是 oh-my-zsh 里的某个主题,vps 上的是 zsh,谈不上好看和好用,起码说他是彩色的而且有一些视觉上的『交互』?(描述并不是很准确。omzsh 我没有下载什么插件,同样也没有配置任何东西,对于我这种只在终端 cd 和 ls 的玩家好像无关紧要,但是对于杰哥那种运维来讲也许算是折磨吧。也许他们崇尚一种『开箱即用』的理念,而懒得花费时间去进行无聊的配置,所以 fish —正好满足他们这种需求。

在 mac OS 环境下载 fish (使用 homebrew)

brew install fish

把 fish 添加到列表

vim /etc/shells 在最后加上 /usr/local/bin/fish

切换 shell 到新下载的 fish

chsh -s /usr/local/bin/fish

这样 shell 从 zsh 变成了 fish,你会看见一条可爱的小鱼。

来试试骚气的东西,比如:

set fish_greeting 'FUCKING CODE RIGHT NOW 你可以设置一个 greeting

sudo scutil --set HostName MBP👉👉👉💋 你可以修改一下曾经很无聊的 hostname

当然等等这些沙雕玩意在别的 shell 同样可以设置,只不过会在不同程度影响启动速度罢了。比如 omzsh 我设置完了这些没卵用的东西后,启动速度肉眼可见的变慢。但是换做 fish ,你不必担心。

OMF 的安装

言归正传,既然 zsh 有 oh-my-zsh,那么优秀的 fish 当然有 oh-my-fish 与其对应了: https://github.com/oh-my-fish/oh-my-fish 。OMF 是 fish shell 的框架,可以管理 fish 的配置、主题和插件。

他有一万种下载方法

curl -L https://get.oh-my.fish | fish 我选择 curl 这个官方一键脚本

更新插件和主题

omf update

下载包

omf install [<name>|<url>]

列出已下载的包

omf list

管理包

omf repositories [list|add|remove]

应用某个主题

omf theme <theme>

查看故障

omf doctor

……等等等等,简直就是个低配版 homebrew 哇,麻雀虽小五脏俱全的感觉。简单看完这些用法之后,就要动手换一下主题啦,提升一下原本黑洞洞的颜值。

动手简单配置

主题的话,https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md ,列出了好多好多不错的选择,我随意选择了 bobthefish 这一款。

使用 OMF 下载 bobthefish

omf install bobthefish

但是并没有和预想的一样,因为还需要下载一些字体和奇怪的 icon

git clone https://github.com/powerline/fonts.git --depth=1

cd fonts

./install.sh

cd ..

rm -rf fonts

cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf

手动应用这些字体:
iTerm2 -> Preferences -> Profiles -> Text -> Font : Noto Mono for Powerline, monofor for Powerline

set -g theme_powerline_fonts yes

set -g theme_nerd_fonts yes

重启终端,成功啦,接下来我们更改配色方案,我选择了 zenburn 。
可以预览配色方案

bobthefish_display_colors // 预览

vim ~/.config/fish/config.fish // 写入配置

set -g theme_color_scheme zenburn

简单的玩法就这些,进阶的可以看文档折腾,下面上图。

我觉得花花绿绿的海星

结语

fish 真的好用吗?我个人而言

  • 单独是 fish,下载完就有「
    Autosuggestions」功能 ,根据你的历史命令给你建议,类似于 zsh 的 tab 键自动补全,不过这个你不用按 tab,也不用打过多的字母,右方向键就可以,节省了很多的时间。不过其他 shell 也有插件实现这个功能,可惜需要下载或者手写,而且有启动速度慢的风险。
  • fish 有管理插件、主题的 OMF,还有文中没有提过的管理插件的 fisherman ,和包管理器 fundle
  • fish 做到了开箱即用。
  • fish 启动速度贼快。

可是 fish 不太支持 bash 语法。不过 ls,cd,rm -rf 什么的无所谓哈哈哈。

就像是世界上最好的语言是什么?新手机要不要贴膜戴壳一样,shell 究竟哪个好用,仁者见仁智者见智。大不了我们可以 cat /etc/shells 然后随便 random 一个!万一有一天我们嫌弃了 OMF,不妨 omf destroy ,这时候还要最后感谢 OMF 的方便~哈哈


(完)

How To Use Telegram From The Command Line(翻译)

前几天彼得群里有人提出如何实现 Telegram 全部消息标记为已读功能,franpo 以前也和我说过希望哪个第三方能加个「一键朕已阅群」的功能,于是饼饼很快就找到了一个仓库:https://github.com/vysheng/tg 。好耶是 Command-line interface !

巧了,绝了,无意间我唐突点进去一篇了某翻译网站的文章,讲的也是 Telegram cli,好开心,那就翻译一下吧,希望把这么好用的即时通讯软件安利给周围的人呢。

这篇文章的原文地址: https://www.omgubuntu.co.uk/2016/10/use-telegram-cli-in-terminal-ubuntu (原文里的配图这边我就不搬运了)

下面是粗糙的译文:


整个周末我一直渴望写出来一篇关于 telegram-cli 的文章。telegram-cli 是一个完美到让人惊讶的命令行界面,进行 telegram 信息传送服务。

自然地,由于我正要写点东西,咖啡店的 Wi-Fi 就出毛病了(作者幽默调侃)。因为我在外面使用体验糟糕的 3G 服务(流量数据限制在750 MB以内),所以这时候我没有实际上体验过这个应用程序。

鉴于我已经买了一大杯拿铁,也付款了公交车费,我需要赚回我的“投资”(花销)。所以为了表达歉意,我无论如何也要尝试使用 telegram-cli,并写点什么了……

回家我下载了它,并且发现用起来简直棒极了!

Telegram 的受众面并不是所有人

Telegram 是一个架构在云服务上面,开放的、安全的即时通讯服务。它提供强有力的开放 API (应用程序接口),把重点放在了客户隐私上面,并且跨平台地提供手机移动端、web页面、和桌面客户端。单单凭借这些方面,Telegram 服务就极其受开源社区、隐私重视者和 Linux 热衷者们的欢迎。

你可以在 Telegram 给别人发送常规的文字消息、照片、视频和其他类型的文件,此外,加入 ‘secret chats(加密聊天)’ 后,可以互相发送编码后加密的信息。

为了避免怀疑请注意:即使 Telegram 的各种移动端和桌面 GUI(Graphical User Interface 图形用户界面) 应用程序是免费的 ,我也不是写这篇文章来说服所有人Telegram 是“最好的”消息传递服务,也不会说它是最安全的,或者说使用了这个终端应用程序就有任何作用。

都不是,我只是想强调一下你可能已经使用的聊天软件的替代方法。如果你觉得 Telegram 好用,那太棒了。如果反之,我无所谓,没关系。

Telegram-CLI 的功能

就像其他已经做的很成熟的客户端一样, Telegram-cli 也可以收发联系人、频道、群组里面的消息。它提供以下功能:

  • 终端信息显示彩色
  • 消息管理,包括历史消息
  • 创建/加入/管理 群聊
  • 开启安全加密一对一的对话
  • 添加/编辑/删除 联系人
  • 发送/加载 照片和视频

Telegram-CLI 甚至更人性化地提供了 tab 键自动补全功能。如果你是那种经常忘记命令的人,或者单纯想提升工作效率,你只需要记住任何命令的前几个字符,然后按一下 Tab 键帮你补全命令。

但是 telegram-cli 不支持 表情包,表情符号(emoji),自定义背景图,和其他视觉上的小花样。

如何在 Ubuntu 系统下载 Telegram CLI

如果你是 Ubuntu 16.04 LTS 或者 Ubuntu 16.10 系统的话,可以在 Ubuntu 软件中心通过搜索 ‘telegram-cli’ 经由 Snap store 下载。 或者执行命令:

sudo snap install telegram-cli

登录

就像 WhatsApp 一样,Telegram 是基于手机号码来认证身份的服务。你需要先在移动端注册好号码,这样才能在终端通过命令行登录。

假设您已经完成了先前的操作,就请使用以下命令运行程序:

telegram-cli

这将提示输入您的电话号码。把它输入终端,然后检查它是否正确,按回车键确认。
这时你手机会收到验证码。您只需要在终端中输入这个验证码,来进行身份验证。
这样操作一番之后,登录成功!

开始使用 Telegram-CLI

Telegram 的信息传送不是依赖电话号码,而是基于 “peer(对等网络)” 。如果要查看联系人的列表,您可以键入:

contact_list

如果要查看当前所有聊天列表,群组和未读消息,请键入:

dialog_list

如果想私聊或者群聊,键入 msg 之后紧随他们的名字(请记住你可以使用 tab 自动补全),之后键入你要发的消息文本内容,就像这样:

msg <name> <message>

若你要查看会话或聊天历史记录,请输入 history 之后紧随他们的名字或者群名,之后键入你希望看到的行数,就像这样:

history <peer> <number of lines>

例如:键入 history Liam 10,就会显示最近 10 条我和 Liam 谈话的信息。

你会在 telegram-cli 项目的 GitHub 维基里面找到一个详尽的可使用命令列表:
View a List of Telegram-CLI Commands

或者在使用时,键入 help 获取帮助

(翻译完)


全篇有地方直译有地方意译,但是感觉读起来还是不像国人说话那么流畅呢。先不谈这些,翻译的过程中还是有遇到一些好玩的事情:

1.

Naturally, because I have something I’m keen to write about, the Wi-Fi in the coffee shop is acting up. As I’ve already bought a large latte and a bus ticket today, I need to get a return on my ‘investment’. So, apologies up front, I’m going to try and write about it anyway…

作者连续两处强加因果:看起来无厘头,实际上正是一种幽默呀。

2.

As I’m relying on a ropey 3G tether (complete with 750MB data cap) I haven’t actually been able to try this app out.

吐槽一下都 8102 了怎么还是 3G 呢,呜呜。

3.

Like the fully-fledged clients …

这里面 fully-fledged 看起来是英式英语一样,美式应该是 full-fledged,去掉一个 y,加上作者这么有趣,第六感开始觉得作者有可能是个英国人了(wu。翻译网站没有给出原文链接,后来我谷歌到原文之后找到作者的 disqus 帐号和推特,绝了,还真的猜对了。

4.

Features that aren’t supported in telegram-cli include stickers, emoji, custom backgrounds, and other visual fluff.

这里面的 visual fluff,翻译的时候可鳖死我了:视觉绒毛?视觉抖松?啥玩意啊。于是我找专业的 makito 帮助,他也很惊奇,甚至去 COCA 语料库查找一番(结果是没有),最后告诉我 visual fluff == inconsequential things in the appearance,对着原文配图,大致意译翻译成 「视觉上的小花样」就好了。澳洲黄鼠也觉得这样不错。嘻嘻。


总之这是一篇比较英式口语化的文章,简简单单地从0到1给小白们介绍了 Ubuntu 环境下 Telegram Command-line interface 的最基础的入门。内容没啥,但是翻译过程好像还挺好玩的,咱也跟玛奇朵(群友天天吸 makito)学了一点点语料库的使用。感谢文中提及的朋友!同时也向开源致敬w

关于 Xperia XZ Premium 手机贴膜

引子:这个月初,千千找欣欣帮忙,入了港版索尼的 XZP,到手裸奔玩了半天后,决定要给这个4k镜子配一些外壳、转换插头和贴膜。这篇文章主要是说 XZP 贴膜的事情。

因为是被人说成「小众?」的手机,我们几乎不可能会在路边或者街边店铺里,随便找人花20¥贴一张,因为他们没有适配机型的膜。可是你要相信有需求就有市场,点开某宝就会发现更大的世界:全包膜、水凝膜、钢化膜、磨砂膜、蓝光膜……天花乱坠。应该怎么去挑选呢?仔细看看店家介绍和顾客的评论,就会在心中大致排出了顺序。我个人的喜好是:全玻璃全贴合 > 全贴合软边钢化膜 > 非全屏钢化膜 > 普通全屏钢化膜 > 普通软膜 > 水凝膜 > 含磨砂 > 含防蓝光 > 通用手机全包膜。 整体看来,非常好用的膜价格贵(比如全玻璃全贴合),价格贵的也不一定好用(比如水凝膜)。下面可以简单说说每一种贴膜的特点,来进行横向比较。千千选择从后往前说。

  • 通用手机全包膜:

    很久很久以前,大概是我读小学还没有智能机的时候,街边总是有师傅拿着一大张没剪裁过的膜,给有需求的「功能机」包膜,这里用的动词是“包”而不是“贴”,因为这真的是个手艺活,需要师傅们按照不同功能机的尺寸来测量、剪裁,最后完全包裹手机,而不是单单只覆盖屏幕;而“通用”也说明了不论什么手机都可以,一切看师傅手艺。这种大如A3纸的膜就是通用手机全包膜,背面粘性十分大,用久会变黄,撕下来还会有很恶心的胶粘在手机上。我猜这应该是早已淘汰的工艺,不过某宝还在有卖。价格当然很便宜就是了。优点:便宜。缺点:操作繁琐、工艺落后。
  • 水凝膜:

    近两年突然火了一种膜叫水凝膜,听名字就知道需要在贴的时候喷奇怪的液体,再一边拿小卡片刮走气泡,而这种膜是塑料材质,软软的,摸起来像橡胶一样,手感和摸玻璃完全不同。大学同学的一台 iPhone 贴的就是这个水凝膜,八十几元买来,自己贴完后等了两天后气泡没消失,手感也难受,于是干脆撕下来丢掉了……总之贴时刮气泡需要技巧,贴完气泡能不能消失看脸(玄学),而且手感不能接受,加上价格贵(50~80左右)性价比又低(好多钱买塑料不如买玻璃划算的心理),很多人都不认可水凝膜的呢。优点:时尚、潮流。缺点:性价比低、手感差、难贴。
  • 普通软膜:

    普通软膜可以说是通用手机全包膜的改良版,同样是塑料,不过是按不同机型手机屏幕剪裁好的,背胶会少许多,不想用了撕下来也不会很粘,比钢化膜薄,透光好,还便宜(10¥)。但是致命弱点是软膜极其容易挂花,你的手指甲、钥匙、背包给它不经意间挂出各种圈圈彩虹纹,毕竟这种膜是普通塑料不是玻璃,所以为了看屏幕心情舒畅,最好是1个月就换一次了。优点:便宜、透光性好。缺点:易挂花。
  • 普通全屏钢化膜:

    这里要引入2.5D玻璃屏幕的概念,大概至少三年前某些厂家手机屏幕的玻璃看起来就给人以圆润的感觉,与以往屏幕是一个僵硬的平面不同,这种屏幕看起来圆滑立体,像要溢出的水滴。这种玻璃是四周被打磨成弧形过的,手机行业称这种屏是2.5D玻璃屏幕。

    正是因为这种屏幕比较立体,而钢化膜是平面,所以自从有了2.5D玻璃屏幕之后,制做一张好的钢化膜是件不简单的事情。聪明的人们发明了普通全屏钢化膜,就是根据手机型号来定制相同弧度的钢化膜,但是由于工业误差,并不能保证每一张都完全贴合:大气泡、白边都出来了,屏幕显得异常难看。于是他们又发明了一种胶或者说是“白边修复液”,贴完膜之后涂抹一下液体,算是把膜四周都“粘”在屏幕上了。其实我个人不喜欢在屏幕上涂抹各种奇妙的液体,于是这种膜压根没有考虑过。优点:完全包裹屏幕。缺点:需要修复液。
  • 非全屏钢化膜:

    人是会偷懒的,前面不是说讨厌修复液嘛,那干脆把膜做小,故意避开有弧度的玻璃不就完了?就这样,市场上多了一种膜小于屏幕大小的非全屏钢化膜。可惜又出了新问题,膜与屏幕之间会进灰,藏污纳垢看起来浑身难受。优点:便宜、好贴。缺点:易进灰。
  • 全贴合软边钢化膜:

    之后聪明的厂家继续改良,希望解决掉易进灰的问题,要解决,必须使得膜为全屏全包裹,同时又要考虑2.5D玻璃。他们便想到保留手机显示区域大小的玻璃,其他部分用碳纤维填充。也就是说,全贴合软边钢化膜四周是软软的,下面有ab胶固定四周,中间部分是屏幕相似大小的钢化膜紧贴在屏幕上面。这看起来已经是最好的解决办法了。优点:不进灰、不用修复液、无白边。缺点:遮挡部分显示区域。
  • 全玻璃全贴合:

    字面意思,大家应该都猜到了,理想产品,大概日本有卖的吧。国内相比前几款膜少之又少,价格也是150¥+了。优点:玻璃全贴合、不进灰、不用修复液、无白边、不遮挡。缺点:难买、价格高。
  • 含磨砂、防蓝光、电镀疏水疏油层等等特点卖点:

    个人不喜欢磨砂,总心理上觉得影响到透光。防蓝光什么的千千也觉得是个扯淡噱头。电镀疏水疏油层几乎是钢化膜标配了,真想没指纹还是准备个手帕吧(wu。

按照老周和阿花他们的推荐,千千选择了鱼雷家的全贴合软边钢化膜,不到50¥,有信仰logo孔,无孔再便宜10¥,可以说在这个行业里不算贵了。贴上还好啦,稍稍遮挡左右显示区域一毫米,手感透光什么的都还不错,可惜我手残进去了小纤维。下次记得要在洗手间贴呐,毕竟潮湿无灰尘(迫真。

…………

对了!有机会要试试水下贴膜呢(wu 毕竟,索尼大法好!