儘管我們使用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匹配...