使用python的lxml库解析html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import urllib2
import lxml.html as H

def getjarinfo(url):
    c=urllib2.urlopen(url)
   
    f=c.read()
    doc = H.document_fromstring(f)
    tables=doc.xpath("//table[@id='download']")    
    pinpais=doc.xpath("//td[@id='music']")
    jixings=doc.xpath("//div[@id='game']")
    jars = doc.xpath("//table[@id='download']//tr[2]/td[1]/a[1]")
    for j in range(len(pinpais)):
      print jars[j].get('href')
      print pinpais[j].text_content()        
      print jixings[j].text_content()
    e=doc.xpath(u"//div[text()='%s']" % u"游戏")
    describe=e[0].getnext().text_content()
    #r = doc.xpath("//table[@id='download']//tr[2]/td[1]/a[1]")[0]
    #jarurl=r.get('href')
   
if __name__ == '__main__':
    url='http://google.com/'
    getjarinfo(url)

淘宝的开源玩具

不知道淘宝是打着开源的名义吸引人才还是怎么着,反正开源只是玩具,请问淘宝赞助过什么开源项目吗?真正的推动的开源了吗?

还不如网易做了个linux发行版的镜像这么实在,为什么会这样,很显然淘宝里面不懂开源却要用开源说事儿的人是领导了啊。好像人家有英超,咱就来个中超,结果一下让中过足球倒退了好几十年。震撼啊。

淘宝的玩具肯定是玩不长的,不过1年淘宝就会把这个半生不熟的东西扔垃圾箱。为什么,因为他们根本就不是准备做开源,来吸引下眼球而已。这就是有中过特色的社会主义市场经济。

互联网产品设计的40个超实用的Web设计工具

本文将会展示一些web设计师应该经常会使用到的工具。如果你需要一些灵感,你可以访问最流行的设计展示站点来寻找你需要的好作品和好例子。
一些设计相关的工具,在线生成器,免费字体站点,模板站点都将帮助你更有效率测试和管理站点。记住,并不是什么都亲自完成才是最好的方式,一定程度的借鉴将会让 你以更轻松的方式完成任务。

1. Deviantart

Deviantart是互联网站最大的艺术展示站点之一。你可以在这里找到好灵感。

deviantart-web-designer-tools-useful

Continue reading ‘互联网产品设计的40个超实用的Web设计工具’

怎样在linux下修改ID3信息

mid3iconv
由于Ubuntu中的Amarok等播放器只支持UTF8字符,所以在Amarok中常常出现乱码。解决方案如下:

1
sudo apt-get install python-mutagen

修改mp3中编码:
到你的music目录去

1
find . -iname "*.mp" -execdir mid3iconv -e GBK {} \;

6个Linux性能监控命令行工具

  1. htop http://htop.sourceforge.net/
    一个可以让用户与之交互的进程查看器。作为文本模式的应用程序,主要用于控制台或 X 终端中。当前具有按树状方式来查看进程,支持颜色主题,可以定制等特性。
  2. Continue reading ’6个Linux性能监控命令行工具’

Range number in MySQL

To obtain a random integer R in the range i <= R < j, use the expression FLOOR(i + RAND() * (j – i)). For example, to obtain a random integer in the range the range 7 <= R < 12, you could use the following statement:

SELECT FLOOR(7 + (RAND() * 5));

文件自动增长和自动收缩SQL Server

文件自动增长和自动收缩

SQL Server允许用户设置数据库初始值、最大值,可以自动增长或者自动收缩。通过这些设置,可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server把硬盘空间耗尽之类的事情发生。一般来讲,如果数据库不是很繁忙,默认的设置(开启自动增长)能够满足大部分的需求。但是数据文件和日志文件增长本身是一件耗费系统资源和影响性能的工作。所以如果完全依赖SQL Server自动完成,可能会导致系统性能不够稳定。一个管理得比较精细的系统,应该预先考虑到可能的空间使用需求,提前规划并引导数据的流向。尽量避免空间用尽而使得SQL Server不得不自动增长的现象发生。同时也要确保每一次自动增长都能够在可接受的时间内完成,及时满足客户端应用的需求。

那么怎么才能达到这样的目的呢?在谈论最佳配置之前,首先要讨论一下SQL Server数据文件和日志文件空间申请的一些特点。还是以下面这个数据库(如图1-31所示)为例。它有3个数据文件(假设它们属于同一个文件组)和两个日志文件(见表1-7): Continue reading ‘文件自动增长和自动收缩SQL Server’

关于MSSQL I/O写入次数很高问题的分析

  1. 看一下task manager, 如果Sql Server 占有的内存即使在服务器最忙得时候都不超过2GB, 而你有4GB内存,可以考虑在Windows boot.ini启动文件中加入 /3GB变量。这样SqlServer就可以使用3GB的内存,多1GB意味着更大的缓存,可以不用到Disk取频繁读取了.
  2. 运行Perfmon,加入“Page Life Expectancy”如果这个值始终小于300秒,意味着你需要更大的内存,加入“Buffer Cache hit ratio” 如果这个值小于90%,意味着你需要更大的内存.加入 “Average Disk Queue length” 如果总是大于2,意味着磁盘操作需要排队完成。考虑升级存储设备.
  3. 运行profiler,跟踪器只选Stored procedure 和 T-Sql, 在Filter(过滤) tab, 选duration(时长)大于5000,这告诉跟踪器只捕捉运行时间超过5秒的程序。 你可以根据自己的情况调整这个变量。目的是找到制造麻烦的SQL.
  4. 运行sp_who2 ,看blk by 栏, 如果这栏不是空白, 有一个数字, 这就是造成阻塞(blocking)的线程id. 然后运行DBCC Inputbuffer(线程id), 你就可以看见这个线程在干什么。
  5. 确认你的客户端程序使用connection pooling,并在完成任务后关闭连接。Sqlserver默认255个连接,如果使用connection pooling, 这个值应该足够应付大多数情况。 如果你确认255不够,可以使用sp_configure重设这个值
  6. 以上都是在认为你完成数据库日常维护的前提下。 如果你不做日常维护,请立即开始。 经常用 DBCC indexDefrag. 每隔一段时间用DBCC DBREINDEX 重建 index. 你可以运行 DBCC Showcontig, 然后看Scan Density ,如果主要的大表Scan Density < 40%, 意味着你有严重的Fragmentation(碎片),该用DBCC REINDEX去整理了.
    DBCC SHOWCONTIG 执行后,结果全部类似下面片断

    DBCC SHOWCONTIG 正在扫描 'sysobjects' 表...
    表: 'sysobjects'(1);索引 ID: 1,数据库 ID: 12
    已执行 TABLE 级别的扫描。
    - 扫描页数.....................................: 586
    - 扫描扩展盘区数...............................: 91
    - 扩展盘区开关数...............................: 585
    - 每个扩展盘区上的平均页数.....................: 6.4
    - 扫描密度[最佳值:实际值]....................: 12.63%[74:586]
    - 逻辑扫描碎片.................................: 47.27%
    - 扩展盘区扫描碎片.............................: 97.80%
    - 每页上的平均可用字节数.......................: 2209.8
    - 平均页密度(完整)...........................: 72.70%

Continue reading ‘关于MSSQL I/O写入次数很高问题的分析’

Error: Could not stat() command file ‘/var/lib/nagios2/rw/nagios.cmd’

Error: Could not stat() command file ‘/var/lib/nagios2/rw/nagios.cmd’!

1
2
3
4
stop nagios2
/etc/nagios2# dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios2/rw
/etc/nagios2# dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios2
start nagios2

永久转向


Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*) http://fred.oracle1.com/$1 [R=301,L]