正則表達(dá)式對(duì)于Python來(lái)說(shuō)并不是獨(dú)有的,最近在把google搜索的結(jié)果中所有的站點(diǎn)地址導(dǎo)出,于是想到用python正則表達(dá)式提取搜索結(jié)果中的站點(diǎn)地址。
這其中涉及幾個(gè)需要解決的問(wèn)題:
1、獲取搜索的結(jié)果文本
為了獲得更多的地址,我使用了Google的高級(jí)搜索功能,每個(gè)頁(yè)面顯示100條結(jié)果。
獲得顯示的結(jié)果后,可以查看源碼,并保持成文本文件就有了搜索的結(jié)果文本
2、分析如何提取站點(diǎn)信息
首先需要分析獲取的頁(yè)面,查看以怎樣的方式可以提取出站點(diǎn)信息。
我使用IE8自帶的開(kāi)發(fā)工具(按F12就會(huì)彈出來(lái))中的探查器功能查看自己要關(guān)心的內(nèi)容有什么特殊的格式
從上圖可以看出我需要的站點(diǎn)在標(biāo)簽 中,所以我使用正則表達(dá)式提取這其中的文本是否就可以呢?
3、編寫正則表達(dá)式來(lái)獲取站點(diǎn)地址
接下來(lái)的就是寫表達(dá)式了,我使用Python3.2編寫的,方便好用(~_~)
代碼如下,先把搜索結(jié)果頁(yè)面保持到e:/t3.txt中,在執(zhí)行如下代碼
import re p = re.compile(r' ([^<>\/].+?) ') f = open("e:/t3.txt", encoding='utf-8') content = f.read() print ("\n".join(p.findall(content)))
運(yùn)行如下:
大家可以對(duì)照一下運(yùn)行效果圖,看看所有的站點(diǎn)地址是不是都給獲取到了。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
