使用re模組定位網頁資訊資料位置 Python

2021-10-08 03:33:48 字數 1644 閱讀 6001

儘管我們使用urllib.request可以獲取到網頁的所有資料,但是要獲取我們想要的資料還需要進一步進行資料處理。本篇主要介紹如何使用python的re模組進行資料定位及獲取。

1、目標網頁原始碼觀察

2、確定資料定位方法

<

/ul>

"lb_worlds"

>

"flt"

>

"/site/gfkdbkzsxxw/resources/img/point.png"

>

<

/span>

"flt"

>

"/site/gfkdbkzsxxw/lqfs/info/2018/735.html" target=

"_blank"

>

'000000'

>國防科技大學2023年錄取分數統計(生長軍官學員)<

/font>

<

/a>

<

/li>

"frt"

>

2018-06

-21<

/li>

<

/ul>

ex=

""index=data.find(

'國防科技大學'

+str

(i)+

'年錄取分數統計'

)(index-52)

:(index-39)

])

3、**部分
import urllib.request as req

import re

# 錄取分數網頁url

url =

''

webpage = req.urlopen(url)

# 開啟網頁

data = webpage.read(

)# 讀取網頁資料

data = data.decode(

'utf-8'

)# 將byte型別的data解碼為字串

defgeturl()

:# 建立空列表urls,來儲存子網頁的url

urls =

ex=""

# 從data中提取2016到2012每一年分數線子**位址新增到urls列表中

for i in

range

(2016

,2011,-

1): index=data.find(

'國防科技大學'

+str

(i)+

'年錄取分數統計'

)(index-52)

:(index-39)

])return urls

print

(geturl(

))

獲取結果如下,次序為:2016-2023年的錄取分數統計網頁url

[

'2017/717.html'

,'2016/663.html'

,'2015/610.html'

,'2014/253.html'

,'2014/234.html'

]

re模組使用

import re strdata python is the best language in the world match只能匹配以 開頭的子符串,第乙個引數是正則,第二個引數是需要匹配的字串 res re.match p strdata,re.i re.i引數表示忽略大小寫 res re.m...

RE模組使用

i mport reli re.match d 12821j128j312893j129 match方法,先使用正規表示式,然後傳入待查字串 print li 結果物件 sre.sre match object span 0,5 match 12821 ifli print li.group 獲得資...

re 模組使用

re模組是python獨有的匹配字串的模組,該模組中提供的很多功能是基於正規表示式實現的,而正規表示式是對字串進行模糊匹配,提取自己需要的字串部分,他對所有的語言都通用。正規表示式元字元 元字元 匹配內容 匹配除換行符以外的任意字元 w匹配字母或數字或下劃線 s匹配任意的空白字元 d匹配數字 n匹配...