日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python實現(xiàn)簡單爬蟲以及正則表達(dá)式簡述

 二樓202 2019-07-18

python中使用 re模塊實現(xiàn)對正則表達(dá)式的使用方式

實現(xiàn)方式包括 2

1 re是一個引用模塊,類似與其他的模塊的使用,可以直接進(jìn)行調(diào)取模塊中的功能函數(shù)使用。

例如:

print re.split(r'\d+','one1two2three3four4')

得到的結(jié)果:

['one', 'two', 'three', 'four', '']

split語法:
split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]):
按照能夠匹配的子串將string分割后返回列表。maxsplit用于指定最大分割次數(shù),不指定將全部分割。

此處使用的是第二種語法結(jié)構(gòu):re.split(pattern, string[, maxsplit])

說明:pattern 匹配的正則表達(dá)式
string 要匹配的字符串。
flags 標(biāo)志位,用于控制正則表達(dá)式的匹配方式,如:是否區(qū)分大小寫,多行匹配等等。

正則表達(dá)式中r 表示的是Python 代碼中的 Raw 字符串,在字符串前加個 “r” 反斜杠就不會被任何特殊方式處理,所以 r”\n” 就是包含”\” 和 “n” 的兩個字符,而 “\n” 則是一個字符,表示一個換行。

如何使用第一種語法?
這就是利用re模塊提供的正則表達(dá)式對象,即第2種方法

2 使用compile 函數(shù)生成一個正則表達(dá)式對象。該對象能夠通過一些方法(函數(shù))進(jìn)行正則表示式處理操作。

具體流程可類似如下所示(來源于網(wǎng)上,當(dāng)然含包括除匹配之外的類似搜索,替換等處理):

這里寫圖片描述

因此對于 1 中的實例,還可以通過一下方法進(jìn)行實現(xiàn):


p = re.compile(r'\d+')
print p.split('one1two2three3four4')

第一行是將正則表達(dá)式編譯為Pattern對象
第二行是調(diào)用對象的方法

所以,在使用python的正則表達(dá)式時,可以采取以上任意一種方法。當(dāng)然,第二種方式可以重復(fù)使用,靈活性大。

說明:由于此處只介紹python正則表達(dá)式的使用思路,所以更多有關(guān)的,具體的語法,語句可以參考相關(guān)材料。

python簡單爬蟲實現(xiàn)

此處簡單實現(xiàn)爬蟲實例,主要簡述思路:包括,抓取網(wǎng)頁,數(shù)據(jù)獲取。

import re
import urllib

def getHtml(url):
    page=urllib.urlopen(url)
    html=page.read()
    return html

def getImg(html):
    reg=r'src="(.+?\.jpg)"'
    imgre=re.compile(reg)
    imglist=re.findall(imgre,html)
    return imglist

html=getHtml("http://tieba.baidu.com/p/2460150866")

print(getImg(html))

此源碼來源 http://www.cnblogs.com/fnng/p/3576154.html

分別使用到獲取url的庫urllib以及正則表達(dá)式模塊。正則表達(dá)式使用的是第二種語法結(jié)構(gòu)。

說明: 以上使用的是python2.7。
還有一個獲取url的庫urllib2,但在python3.x中兩者合并為 urllib。所以導(dǎo)入模塊改為:

import urllib
import urllib.request

上述程序中的urllib應(yīng)該改為

 urllib.request

(現(xiàn)在有更高版本的urllib,進(jìn)一步簡化了程序語句)

以上程序抓取的結(jié)果是一些圖片的鏈接。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多