python正則網頁
『壹』 python 正則化匹配html網頁尖括弧 匹配不了
正確的html閉標簽里,是以/開頭的,所以網頁的源代碼不可能是<\/span>,<span class=\"name\">小小少年lala<\/span>\r\n\t里的前三個\是為了在字元串里顯示「和/而已,並不是字元串的內容。
網頁應該是
<span class="name">小小少年lala</span>\r\n\t
你的正則應該用
p=re.compile('<span class="name">(.*)<\/span>')
『貳』 python 正則獲取網頁內容
importre
#id=45717
common_log_format_regex=re.compile('id=d+')
files=open("aaa.txt",'r',encoding='utf-8')
lines=files.readlines()
txt=''.join(lines)
files.close()
data=common_log_format_regex.findall(txt)
writer=open("id.txt",'w',encoding='utf-8')
writer.write(' '.join(data))
writer.close()
『叄』 基於Python正則表達式提取搜索結果中的站點地址
正則表達式對於Python來說並不是獨有的,最近在把google搜索的結果中所有的站點地址導出,於是想到用python正則表達式提取搜索結果中的站點地址。
這其中涉及幾個需要解決的問題:
1、獲取搜索的結果文本
為了獲得更多的地址,我使用了Google的高級搜索功能,每個頁面顯示100條結果。
獲得顯示的結果後,可以查看源碼,並保持成文本文件就有了搜索的結果文本
2、分析如何提取站點信息
首先需要分析獲取的頁面,查看以怎樣的方式可以提取出站點信息。
我使用IE8自帶的開發工具(按F12就會彈出來)中的探查器功能查看自己要關心的內容有什麼特殊的格式
從上圖可以看出我需要的站點在標簽<cite></cite>中,所以我使用正則表達式提取這其中的文本是否就可以呢?
3、編寫正則表達式來獲取站點地址
接下來的就是寫表達式了,我使用Python3.2編寫的,方便好用(~_~)
代碼如下,先把搜索結果頁面保持到e:/t3.txt中,在執行如下代碼
import
re
p
=
re.compile(r'<cite>([^<>/].+?)</cite>')
f
=
open("e:/t3.txt",
encoding='utf-8')
content
=
f.read()
print
("
".join(p.findall(content)))
運行如下:
大家可以對照一下運行效果圖,看看所有的站點地址是不是都給獲取到了。
『肆』 Python正則表達式的幾種匹配方法
1.測試正則表達式是否匹配字元串的全部或部分
regex=ur"" #正則表達式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()
2.測試正則表達式是否匹配整個字元串
regex=ur"/Z" #正則表達式末尾以/Z結束
if re.match(regex, subject):
do_something()
else:
do_anotherthing()
3.創建一個匹配對象,然後通過該對象獲得匹配細節(Create an object with details about how the regex matches (part of) a string)
regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
# match start: match.start()
# match end (exclusive): atch.end()
# matched text: match.group()
do_something()
else:
do_anotherthing()
4.獲取正則表達式所匹配的子串(Get the part of a string matched by the regex)
regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
result = match.group()
else:
result = ""
『伍』 python正則表達式去掉網址數字l
可以使用Python的regex模塊並re.sub()替換要擺脫的任何字元。
您既可以使用黑名單替換所有不需要的字元,也可以對所有希望允許的字元使用白名單,僅保留這些字元。
在python中,所謂的「正則表達式」指的是通常被用來檢索、替換那些符合某個模式的一段文本。具體而言,它的作用是檢測某個字元串是否符合規則和提取網頁字元串中想要的數據。
『陸』 python 正則表達式
[A-Za-z]\w+ :由開頭的1個大寫或者小寫的字母加上至少1個 字元來匹配
比如 Aaa,Aa
4xZ匹配不到,xZ4可以匹配。