0

下载知网学位论文 PDF

众所周知,知网今年改版了,于是很久以前的那个用来下载知网学位论文 GreaseMonkey 脚本失效了。

这里略作修改,有很大改进余地。

Chrome 用户用 TamperMonkey 插件,Firefox 用户用 GreaseMonkey 插件,安装此 user-js。更新地址:https://gist.github.com/zhuth/c8b6cf110b2311ced006bbd20682ad33

// ==UserScript==
// @id             CNKI-PDF
// @name           CNKI 中国知网 PDF 全文下载
// @version        1.2.1
// @namespace      http://yuelong.info
// @author         YUE Long, zhuth
// @description    点击 CNKI 检索结果界面中的下载按钮可以直接下载 PDF 格式文献
// @include        http://*.cnki.net/*
// @include        http://*.cnki.net.*/*
// @run-at         document-idle
// ==/UserScript==
var allLinks = document.evaluate('//div[@class="dllink"]/a[@class="icon-dlGreen"][@href]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
if (allLinks) {
    var thisLi = allLinks.snapshotItem(0);
    var h = thisLi.getAttribute("href");
    if (h.indexOf('&dflag=nhdown') > 0) {
        thisLi.setAttribute("href", h.replace('&dflag=nhdown', '&dflag=pdfdown'));
    }
}
0

用 wxpy 实现下载论文功能

VikingMew 跟我讲有一个对微信网页版的封装 wxpy。找来略微研究了一下,抄了一半写了几行代码,用它完成一个随时随地下载论文的工作(当然,还没有那么智能啦)。

wxpy 的介绍:https://github.com/youfou/wxpy

运行的时候,wxpy 会自动调用浏览器下载一个二维码图片。所以如果你像我一样在一个树莓派上部署它的话,就可以设置一下 Samba 共享,这样就可以很方便地找到下载下来的 QR.png 文件。用你的微信号扫描之后,就登录了网页版(这时候,电脑版微信之类的会自动退出,所以最好是开一个小号)。

然后从 cnki.net 上搜索到论文之后,右键点击并复制 PDF 链接,发送给这个小号,它就会自动下载好把文件发过来啦。

闲话少叙,大家且看代码。代理服务器和用户名密码都被用一串 ##### 替代了。反正我这个用途大家很少用得到,所以不妨开开脑洞想想能拿来干啥吧~

#!/usr/bin/env python3
#encoding: utf-8

from wxpy import *
import pycurl, base64
from io import BytesIO

def download_with_proxy(url):
    c = pycurl.Curl() #创建一个同libcurl中的CURL处理器相对应的Curl对象
    b = BytesIO()
    c.setopt(pycurl.URL, url)
    #写的回调
    c.setopt(pycurl.WRITEFUNCTION, b.write)
    c.setopt(pycurl.FOLLOWLOCATION, 1) #参数有1、2
    #最大重定向次数,可以预防重定向陷阱
    c.setopt(pycurl.MAXREDIRS, 5)
    #连接超时设置
    c.setopt(pycurl.CONNECTTIMEOUT, 60) #链接超时
    #模拟浏览器
    c.setopt(pycurl.USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)")
    c.setopt(c.REFERER, url)
    # cookie设置
    c.setopt(pycurl.COOKIEFILE, "cookies")
    c.setopt(pycurl.COOKIEJAR, "cookies")
    #设置代理
    c.setopt(pycurl.PROXY, 'libproxy.###############:8080')
    c.setopt(pycurl.PROXYUSERPWD, '###################')
    c.perform()
    h = b.getvalue()
    b.close()
    u = c.getinfo(c.CONTENT_TYPE)
    u = u.split('/')[-1][:3]
    fn = '/tmp/' + str(base64.urlsafe_b64encode(url.encode('utf-8')))[:8] + '.' + u
    with open(fn, 'wb') as f:
        f.write(h)
    return fn
    
if __name__ == '__main__':
    bot = Bot()

    zth = bot.friends().search('ZTH')[0]

    @bot.register(msg_types=TEXT)
    def auto_reply(msg):
        if isinstance(msg.chat, Group) and not msg.is_at:
            return

        t = msg.text
        if not msg.sender in [zth]:
            return '尚未开放'
        
        if '.cnki.' in t or '.libgen.' in t:
            try:
                fn = download_with_proxy(t)
                msg.reply_file(fn)
            except Exception as ex:
                return str(ex)
        
        #return '只是收到而已'
    zth.send('我上线了!')
    embed()
0

修复 MySQL 故障

问题:MySQL 经常自动崩溃。

解决:

添加 swapfile,方法:

sudo dd if=/dev/zero of=/swapfile bs=1G count=4
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

 

问题:更新系统(do-release-upgrade)或更新 MySQL (apt-get upgrade)时卡在“Renaming removed key_buffer and myisam-recover options (if present)”。

解决:

dpkg --congiure -a
apt-get clean
apt-get purge mysql-server-5.* mysql-client-5.* mysql-server mysql-client mysql-common # 可能还有别的
#### 备份
tar -zcvf ~/msql_backup.tar.gz /etc/mysql /var/lib/mysql 
#### 删除 MySQL 的配置和全部数据库
rm -rfv /etc/mysql /var/lib/mysql
apt autoremove
apt autoclean
#### 然后正常安装
apt-get install mysql-server mysql-client
#### 复原原先的数据库
tar -xzf ~/msql_backup.tar.gz
cp var/lib/mysql/ibdata1 /var/lib/mysql
cp -r 若干需要的数据库 /var/lib/mysql
chown mysql:mysql /var/lib/mysql/*
service mysql restart

 

0

凝视、橱窗与影像艺术的任务

本文首发于瑞象馆“瑞象视点”。

什么是影像艺术的用法:或者说,当我们说某幅照片或某段视频是一件“艺术作品”之后,我们会对它做些什么?我们会把它放在一个四面白墙的展厅之中,这也就是一些人所诟病过的“白盒子”。比如,btr那些在路上偶得的影像片段就以“意思意思”的名义进入了这样一个专门用于“凝视的场景”之中,而它们就因为四周的墙壁而获得了某种神圣价值。又或者,如果这些片段有如此强大的生命力,它们会使整个房间显得格格不入:好像更适合它们的场景只能是在路边,或宁可是朋友圈之中。这也就是说,它不适合进入凝视的场所,而只属于它原本所处的生活之流——不是视频片段或照片中的内容,而是这段视频、这张照片的影像本身就处于生活之流中。

从凝视的场所转向生活之流:如果我们真的读过本雅明那篇广为征引的文章,首先就能理解到,这一转向是本雅明赋予影像艺术的任务。他认为,摄影可以使艺术摆脱了富有宗教意涵的崇拜与凝视,而成为生活中的一个部分。结果,事实上成为生活中一个部分的却是所谓的“文化工业”,而不是影像艺术。

在论述“机械复制”(或按照字面可解作“技术上可以复制”)时,本雅明首先回顾了古希腊的雕塑。他承认,“技术上可以复制”并非摄影术发明之后的新鲜事。于是,摄影术与青铜浇铸的雕塑之间唯一区别也就成为了“手”与“镜头”或“眼睛”的区别(“手在图像复制的过程中第一次卸下了艺术责任,这些责任现在起只由通过镜头观看的眼睛来承担”)。但首先摄影仍需要手的控制(否则手抖就不能成为照片拍糊了的原因)。毋宁说,摄影术所真正发现的,是作为论证起点的“图像”:它不再作为某种现实以外的东西所附之体,而只以自己的面貌示人。(我们记得,历史上有许多破除偶像的运动。而不同派别的传教士关于中国人祭拜祖先或孔子是否属于“崇拜偶像”的争论,核心就在于祖先的牌位或孔子的画像是否被认为有灵魂的依附,这可以反过来确认西方思维中对图像自身存在的忽略和对这种灵魂依附的强调。)“技术上可以复制”由于图像的发现才成为现实:雕塑,只能用“另一块青铜”去浇铸“同一个”形态,从来没有真的“复制”过某个雕塑的物质存在。在这个意义上,能复制的也仅仅是图像或类似于图像那样的形式。只有形式——通过表征和转化,才能够满足大众的爱好,“把事物在空间上和人性上‘带到近处’”。

由于手与眼的对比,或由于对论证起点的忽视,本雅明看到了图像所能达成的效应,却仍将图像视为某种模仿和次一等的东西。它不是现实之外东西的附体,却又成为“现实”中别的东西的附体。然而,事实上在雕塑中,就已经出现了一种我们可以说是“原生”图像,或者继续使用本雅明的术语,也就是属于图像自身的“本真性”。雕像可以在形态上仿似一些别的人或物,但就寓身其中的图像而言,它只有在如此这般被雕刻、塑形、浇铸之后才第一次存在。于是在这个意义上,每一个雕塑的复制品都有一个它自己的“原生”图像,而这个原生图像就位于现实之中。图像的本真性质实际上又使“复制”终究只是一个经验的判断——不同图像之间外貌上的相似,和对它们制作方法的来源考察——而不是两个图像自身概念上的等同。图像的发现使本雅明谈论技术复制成为可能,但现实或原生的图像表明技术复制并不真正将任何事物“带到近处”。它们有这样的能力,也就像“电视”之为“远—视”(tele–vision),乃是出于我们对图像背后仍有某种更为“现实”之物的“常识”。

现在,被此类常识所掩盖的图像的本真性,由于计算机图形技术和互联网而充分地展现出来,进入到日常的生活之中。对数码图像而言,“近处”从来只有“就在这里”产生出的图像,只有那原生于其材料——屏幕——的形式。数码图像的传播中,没有什么“东西”被复制了;而图像的本真性则意味着,图像技术没有复制的“对象”,每一次都是利用技术来产生新的图像。——我们不要忘记,数字信号的传输可以保证信号层面的无差错,却不代表显示技术不会有所偏差,更不代表运用显示技术的场景不会有所偏差。

现在,位于湖南路“5- 1临”号的“REFORMERArt”所呈现的许聪作品《万佛神殿》就展出了这样一次偏差。3月11日的下午,当我第三次“路过”这一场所时,总算看到橱窗里出现了跳动的、因玻璃而显得黯淡并与街景融为一体的影像。(对这种影像的拍摄,由于手抖,又都糊成了一团。)门锁紧闭,像作品介绍中所说的那样置身其中“进行冥想”并不可能——而且即便能够进入,又有谁能够在“橱窗”之中“冥想”呢?但是我自己的镜像,作为街景的一部分,也仿佛置入了这玻璃橱窗之中。

“橱窗”展示了“白盒子”的“第四堵墙”拆去之后实际上会成为什么。姑且不论这是否象征了艺术作品展览同时作为某种商品展销的状况,单单是这种与影像之间的“路过”关系,就已经表现出这样一组图像在一个特定的技术配置与场所之中所带来的意义后果,尽管这种后果相对于作品说明中所说的艺术家意图而言恐怕是南辕北辙:事实上,为了达成专程前来“凝视”这件作品的目的而不至于使我自己被凝视,我只能在门边佯装刷手机等人,以不断地、重复地维持这种“路过”关系。

作品介绍中提及的艺术家意图是这样表达的:图像背景中0和1及字母和符号,像是早期的ASCII字符画,一方面构成了旋转的佛像(或其部分),另一方面也用来指涉计算机系统;模糊的“佛像”暗示它是由算法自动生成的;而色彩浮夸的拼贴组合对应于作品介绍中提及的“烧香网站”。一言以蔽之,这种指涉是仍然将图像视为某种符号。在这之中,不存在什么“计算机系统”,不存在“人工智能”、“神经网络”,也不存在“烧香网站”:只有对它们的表现。而所有这些东西自身则仅仅是完成这种表现的工具和材料。

神经网络模型为代表的人工智能技术在艺术中得到了运用,这个运用本身却仍未成为艺术——它产生了影像,但我们却不能通过影像真正看到它。它们所指涉的生活中的某些部分,引发人们的思考,却不是这些图像自身的结果。所有这些字符或像素,不是作为原生图像而存在的,也脱离了它们本来得以产生的场所——普通的手机屏幕或电脑显示屏,或互联网。它成为了“橱窗”中的东西;这就是我们将这一影像称为“艺术”的后果。

在这个意义上,本雅明关于机械复制使图像“带到近处”,或摆脱被崇拜的命运而重新融入生活之流的愿望,依然单单只是一个愿望。“凝视”中有可能会呈现出凝视场所的限制而使人重新回想到生活之中,而否定“凝视”的“路过”则使影像成为橱窗中的陈列而不必思考它的意义。它成为了一种路边的景观,与周遭并无差别,不可分地融为一体。(对于“文化工业”的批评不正也是如此吗?——然而,一首流行歌曲中所承载的大众的个人经验,也许可以远远多过一件当代的艺术品。)尽管在后一个意义上,它确实成为生活之流中的一部分,但也只是似有还无而缺乏意义的一部分。另一方面,关于它的介绍,又固执地仍在召唤旧式的凝视。

生活中的观看要产生意义,这并非不可能:它事实上一直在出现,就像那些朋友圈中的照片。问题只是量上的:朋友圈的影像大多尚未在意义上超出对现实的指涉。只有,比如说,当我们打开一个“在线烧香”网站却发现它开始播放随机产生的“佛像”,让我们发现某些“不正常”、不属于“烧香网站”的部分,我们才在真正属于计算机、属于互联网、属于人工智能的场所看到了影像。这时,我们所关注的也就不再是影像的“内容”,而相应地是产生影像的过程;图像的本真性随之昭然。那时,“复制”对我们不再成为问题,也不再关心与之相仿佛的“再现”;那时,技术不再需要影像中的符号来反过来被指涉而成为噱头,只是静静地在影像中展开自身;也许只有在那样的时候,才可能发展出任何一种不为“白盒子”或“橱窗”而作的艺术作品。而影像被赋予的艺术任务,也许才算是开始了:它不再现生活;它就在生活之中,道出意义。

0

回到淮海路

本文为供《城市中国》杂志稿。感谢编辑的查证和重新编排,由于修改幅度颇大以合乎杂志定位,此处依原样发出。

向明中学不是一所“好”学校,我和同学们从初中时候就知道这一点。相比于诸如上海中学这样的超级学校,或者即便是相比于诸如格致中学这样不那么“超级”的重点中学,向明中学都像是没落的。不仅它的“一本率”,而且它的建筑也显得凋敝。昏暗的“新教学楼”,陈旧的、水泥本色的路边石,它仿佛不像是一所“现代”的、中心城区的中学。然而它也是我们几乎唯一的选择——这是卢湾区“最好”的中学,而我们将通过一轮轮的考试而进入到它最好的一个班级。这就是我们没有“通天之力”,又无法保证考试绝对能拿下全区第一的普通学生,所能争取到的最好结果;但同时也是这一片小小的卢湾,所能给予我们的最好的待遇。

向明并不是一直这样的没落。它最近的光辉大概属于八九十年代,长辈们会讲起,那时人们说进入了向明就“半只脚进了大学”,那时它有出类拔萃的篮球队,还培养了最早获得国际数学奥赛的中国学生。后来它还以科技创新活动小有名气,然而终究成也萧何败也萧何。

向明不是一所“好”学校,家长们大概都这样认为。早的时候3点半放学,晚的也不会超过5点。没有什么有组织的补课班。往南靠着淮海路,放了学就三五成群一边逛一边回家;校门口的罗森、对面的丰裕生煎和不远处的沧浪亭,让厌倦了学校盒饭的同学们有“改善伙食”的机会。当年的期末考试,都会和一个同学固定去沧浪亭吃一碗爆鳝面,然后分取年级第一和第二,我们曾模仿课文《一碗阳春面》说将来也能写个“一碗爆鳝面”的故事。往东去,有KTV和台球店,也是一些同学假期里聚会的场所。还有一些“早恋”的男女学生,可以往北,进入不远处的延中绿地。一位副校长曾经是这样说的:同学们,我昨天又接到了个“举报”电话,你们以后在延中绿地“干坏事”,记得先把校服换掉。

也许因为它不是一所通常意义上的“好”学校,在这里的高中生活就变得有趣起来。虽然(至少当年)没有强制的补课,都总有那么可以满足同学们种种好奇心的老师,在冷冷清清的协会楼里打开一间间教室,于是直到月明星稀之时才回家也是家常便饭。对我来说难以忘记的便是那一间机器人社的教室,与伙伴们为解决一个问题而不断尝试,为准备一次比赛而废寝忘食。我们当时有一句话,叫做“不给评委任何机会”。年少气盛的我们会“叫嚣”“不给评委任何机会”。记得当时我们设想了一个拼搭七巧板的机器人参加青少年科技创新大赛,因为涉及图像处理技术和线性代数知识,立项答辩有评委说“只要你们做出来的小车能动,我就给满分”。最后,我们做到了。

同学们大多都出生和成长在卢湾,有一些随着市政工程的动迁而搬迁到了遥远的地方,却因为学籍而又要每天回到这里。当年的同班同学中,最远的一位住在共富新村,每天坐早班的一号线来学校。而最近的一位就住在隔壁的里弄里,并随着学校的原地重建而搬迁,不过那也是毕业以后的事情了。大多数的同学乘公交车,其中又有不少坐146路,因为它是绕卢湾区的环线。还有一些同学骑车,甚至兴之所至(通常是期末的返校结束之后)也会走路回去:从雁荡路穿过复兴公园走鲁班路,或者沿着瑞金路一直往南走到肇嘉浜路,然后在路口和同学们告别,这一路上都常常有着阳光的陪伴或绿树的遮荫;而今也只剩下我一个。

现在,有的同学游荡过大半个地球还没有停止,有的同学早早地有了自己的家;有的同学不顾“凶险”的医患关系穿上了白大褂,还有的同学如愿以偿进入了演艺圈。回想起来,在高中的时候,他们就已经有了不同的方向。无论是否出于情愿,向明总之尊重了这些同学各自的选择。尽管所做的事情有不同的意义,不同的选择、职业并不天然有着高下之分,而每一个人都应该有自己的方向并为之努力:这大概就是“有劲”的中学时代一种意外的馈赠。那使中学时代变得丰富的东西——即便对当时的我来说并不能理解这种丰富性——其实也是使社会本身变得丰富的东西。

稀里糊涂地,我们就成为了未改建前的“老向明”的最后一届学生。对于学校会被拆掉重建这个事情,也已经记不清是什么事听说的了。有的传闻还说,本来造地铁是想把向明搬掉的,政协里的几个老校友不答应,去争取,才保留的。2007 年,向明对面的东风中学(初中)送走了最后一批学生,略加改造,成为了向明中学的“西部”校区。东风中学也是一所很小的初中,其操场甚至难以同时容纳两个班级上体育课。于是我们下一届的高一学生就待在了狭窄的瑞金路的对面;于是我们继续是这边留下的“最小的年级”。

去年参加瑞象馆的“城市漫步”活动组成小组时,同济建筑系的赵爽同学听到我提到“向明中学”四个字,便举手示意愿意加入,而这竟然是因为她某次图中的偶遇,惊奇地发现竟有一所施工中的学校:向明中学此刻在市中心的这种存在竟成为了某种“奇观”而落入路人的视野。

而回想大一的时候,寝室里的外地同学们展示他们的母校在卫星地图上巨大的占地面积,而我们纵使把分辨率调到最高,也无法让向明中学的影像占据屏幕上一半的面积。市中心中小学的撤、并也许是一个趋势,在郊区新建大规模的校区也许也是一个趋势。于是,我们是毕业了,但要想回一趟高中去看老师,也困难了。那些还没有退休的老师不得不往返于家、瑞金路校区和浦江镇校区三点之间,突然让向明这个在卫星地图上难以找寻的小角落拥有了以几十公里计的空间尺度和数小时(尽管有班车)的时间尺度。


给你们看一张当年一脸青葱而风流倜傥的阿明(ID:orange_the_weak)的照片——当然是失焦的

据说地铁的建造是为了进一步增加淮海路的人流量。为此,一些居住在此的人们不得不离开。然而淮海路似乎并没有恢复十年前的繁华:当然,有不少国际品牌卖着各种档次服装,却也找不到一家沧浪亭;被一挤再挤缩到楼上的新华书店也不再是那个当年排队赶哈利波特第七部首发的气派模样,对面的三联灯光仿佛也昏暗了些。它们就像一些旧时的邻居;我们搬走了,它们也走了。楼房还在,于是“风貌”依“旧”,但早已不是那个淮海路了。

与中学的告别有一种象征意义,而楼房的拆除意外地成为了一种可见的象征。——愿它拆去便不要再重来。对所有人来说,这都意味着步入了成年人的行列。对一些人来说,它意味某些私人事件的开始或终结。对我和同学们来说,也是在这中学时代,永远地失去了一位同学。我不知道应该怎样去纪念,也还无法写下他的故事。但是要让他继续存在,我们需要首先让自己继续存在,用自己的气力想办法让记忆中的场景重新获得存在。然后,他就出现在课堂上的问答中,出现在班会上的节目中,出现在机器人社教室的欢声笑语中;出现在那已经炸毁的教学楼前,滴滴答答的黄梅雨,对着花坛里的两株夹竹桃出神的,少年人的忧郁中。

曾经教学楼门口的夹竹桃

60年代向明中学的校友王安忆,在《长恨歌》结尾写道:“对面盆里的夹竹桃开花,花草的又一季枯荣拉开了序幕。”

然后就让我们回到那个繁华的,风貌依旧而鲜活的,淮海路吧。

本文配图 2、4、5 为当时的实习老师徐晶拍摄,特此致谢。