基于Python正則表達式提取搜索結(jié)果中的站點地址
正則表達式對于Python來說并不是獨有的,最近在把google搜索的結(jié)果中所有的站點地址導出,于是想到用python正則表達式提取搜索結(jié)果中的站點地址。
這其中涉及幾個需要解決的問題:
1、獲取搜索的結(jié)果文本
為了獲得更多的地址,我使用了Google的高級搜索功能,每個頁面顯示100條結(jié)果。
獲得顯示的結(jié)果后,可以查看源碼,并保持成文本文件就有了搜索的結(jié)果文本
2、分析如何提取站點信息
首先需要分析獲取的頁面,查看以怎樣的方式可以提取出站點信息。
我使用IE8自帶的開發(fā)工具(按F12就會彈出來)中的探查器功能查看自己要關(guān)心的內(nèi)容有什么特殊的格式
從上圖可以看出我需要的站點在標簽<cite></cite>中,所以我使用正則表達式提取這其中的文本是否就可以呢?
3、編寫正則表達式來獲取站點地址
接下來的就是寫表達式了,我使用Python3.2編寫的,方便好用(~_~)
代碼如下,先把搜索結(jié)果頁面保持到e:/t3.txt中,在執(zhí)行如下代碼
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)))
運行如下:
大家可以對照一下運行效果圖,看看所有的站點地址是不是都給獲取到了。
相關(guān)文章
linux下關(guān)于正則表達式grep的一點總結(jié)
正則表達式(Regular Expression)是用于描述一組字符串特征的模式,用來匹配特定的字符串。通過特殊字符+普通字符來進行模式描述,從而達到文本匹配目的工具2020-04-04
[js]用JAVASCRIPT正則表達式限制文本字節(jié)數(shù)的代碼
[js]用JAVASCRIPT正則表達式限制文本字節(jié)數(shù)的代碼...2007-11-11



