Categories

Calendar

September 2017
M T W T F S S
« Jun    
 123
45678910
11121314151617
18192021222324
252627282930  

ZJU 的 201+ 上网卡

受不了了,所以来发发牢骚。 >_< 在玉泉校区住了一年之后搬回了紫金港,遇到了许许多多的麻烦事,除了被玉泉的寝室赶出来又不能住进紫金港的寝室导致在真空中生存了好几天之外,最让我崩溃的大概就是上网的问题了吧。在终于安顿好之后,昨天晚上回到寝室,打开电脑,插上网线,将网络设置为 DHCP ,很快申请到了 IP (可不像当年在 ZJG ,晚上回去晚了就申请不到 IP 了),打开 Firefox ,熟悉的页面跳出来了,我才恍然大悟:乎略了一个重要的问题,在 ZJG 上网是要用 201+ 上网卡的!

Duplicate Elimination in Scrapy

之前介绍 Scrapy 的时候提过 Spider Trap ,实际上,就算是正常的网络拓扑,也是很复杂的相互链接,虽然我当时给的那个例子对于我感兴趣的内容是可以有一个线性顺序依次爬下来的,但是这样的情况在真正的网络结构中通常是少之又少,一但链接网络出现环路,就无法进行拓扑排序而得出一个依次遍历的顺序了,所以 duplicate elimination 可以说是每一个 non-trivial 的必备组件之一,这样就算在遍历的过程中遇到环路也不用怕,排重组件会检测到已经访问过的地址,从而避免在环路上无限地循环下去。最简单的办法也就是每次抓取页面的时候记录下 URL ,然后每次抓取新的 URL 之前先检测一下是否已经有记录了。不过,通常我们并不直接按字符比较 URL ,因为那样通常会漏掉许多本来确实是重复的 URL ,特别是现在动态页面盛行的情况,例如在 cc98 (ZJU 的一个校内论坛)上下面几个 URL 路径是等价的:

SSH tunnel tips

从我两三年前接触 SSH 的时候我就在文档上见过 SSH tunnel 相关的东西,然而当时没有怎么看明白,也就一直没有深究,直到最近需求越来越多了,才终于发现这个东西原来这么有用,于是记录在此。

SSH tunnel 主要有三种,一种是 dynamic application-level port forwarding ,可以用来作为 SOCKS proxy ,通常翻墙就是用的这种端口映射;一种是 Local Forwarding ,主要用于提供常规的加密隧道,例如让 IMAP 协议通过这个加密隧道,避免密码在网络上被人监听到;一种是 Remote Forwarding ,可以用于逆向穿透 NAT 。其实,另外还有一种专门为 X 打造的 X11 Forwarding ,一般不会用到,Linux 下远程登录通常不会需要开启 X 程序,或者有其他更好用的方法,因此我们这里并不打算介绍这个。