1、下载、编译
只有3.1以上支持ipv6
wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.12.tar.gz
tar -xzvf squid-3.1.12.tar.gz
cd squid-3.1.12
./configure --prefix=/usr/local/squid
make
sudo make install
2、配置文件
sudo vim /etc/squid/squid.conf
#修改或加[......]
设计网页爬虫需注意的问题
最近有空的时候在读Larbin的源代码,虽然是03年的了,但是很多细节都考虑的很周到,记录一下细节问题吧。
1、针对同一IP/HOST,不可访问过频繁,最好按其进行队列。
2、注意处理、过滤url后缀,以及Content-Type,我觉得Content-Type才是王道吧。
3、注意去重的问题,包括URL去重和网页内容去重。特别是有的网站是多个域名,很可能爬到实际内容重复,只是url不同的。Larbin中URL去重用的是简单的比特位Hash表。
看到了再继续更新。[......]
关于Cassandra占用8080端口的问题
今天需要再一台服务器上开两个cassandra,更改了storage-conf.xml中的port后,依然出现“java.net.BindException: Address already in use”的错误,感觉非常诡异……
经过检查发现,cassandra启动时候默认启动了8080端口用于jmx(Java性能检测),如果我们不需要的话,去掉就可以了。
配置在bin/cassandra.in.sh中,如下去掉即可:
cassandra_home=`dirname $0`/..[......]
Python Essential Reference 4th – 第15章 – 读书笔记
本章主要介绍抽象类和一些高级的Collection。
1、abc模块:抽象类模块。
一个抽象类的例子:
(1)__metaclass__用ABCMeta替换
(2)抽象方法用@abstractmethod标注
(3)抽象属性用@abstractproperty标注
from abc import ABCMeta,abstractmethod,abstractproperty
class Stackable:
__metaclass__ = ABCMeta
@[......]
Python Essential Reference 4th – 第14章 – 读书笔记
本章主要介绍一些和数学计算相关的模块。
1、decimal模块
主要提供浮点运算。Python默认的浮点存储是IEEE 754标准的,对于0.1可能被存储为0.000000000000000001。这类问题在Java等也存在。在一般情况下是可容忍的,但有些时候(比如用于金融行业软件),3 * 0.1 == 0.3会返回False,这是不合适的。
dicimal模块采用IBM General Decimal Arthmetic标准。定义了两种个主要类:Decimal和Context类。其[......]