使用Python正则表达式提取搜索结果中的站点

最近要把Google所搜的结果中,所以的站点地址导出。于是便使用Python中正则表达式来提取所搜得到的结果。

这其中涉及几个需要解决的问题:

1、获取搜索的结果文本

为了获得更多的地址,我使用了Google的高级搜索功能,每个页面显示100条结果。

获得显示的结果后,可以查看源码,并保持成文本文件就有了搜索的结果文本

  

2、分析如何提取站点信息

首先需要分析获取的页面,查看以怎样的方式可以提取出站点信息。

我使用IE8自带的开发工具(按F12就会弹出来)中的探查器功能查看自己要关心的内容有什么特殊的格式

clip_image001[7]

从上图可以看出我需要的站点在标签<cite></cite>中,所以我使用正则表达式提取这其中的文本是否就可以呢?

3、编写正则表达式来获取站点地址

接下来的就是写表达式了,我使用Python3.2编写的,方便好用(~_~)

代码如下,先把搜索结果页面保持到e:/t3.txt中,在执行如下代码

import re

p = re.compile(r'<cite>([^<>\/].+?)</cite>')

f = open("e:/t3.txt", encoding='utf-8')

content = f.read()

print ("\n".join(p.findall(content)))

运行如下:

image

对照一下,果然把所有的站点地址给获取到了。

posted @ 2011-07-02 14:08  Quincy  阅读(3134)  评论(0编辑  收藏  举报