python3利用正規表示式爬取內涵段子

2021-08-14 23:23:13 字數 1085 閱讀 5028

似乎正則在爬蟲中用的不是很廣泛,但是也是基本功需要我們去掌握。

先將內涵段子網頁爬取下來,之後利用正則進行匹配,匹配完成後將匹配的段子寫入文字文件內。**如下:

# -*- coding:utf-8 -*-

from urllib import request as urllib2

import re

# 利用正規表示式爬取內涵段子

url = r''

headers =

file_name = '內涵段子.txt'

for page in range(2):

# 2表示頁數,可以自行調整

fullurl = url.format(str(page+1))

request = urllib2.request(url=fullurl, headers=headers)

response = urllib2.urlopen(request)

html = response.read().decode('gbk')

# re.s 如果沒有re.s 則是只匹配一行有沒有符合規則的字串,如果沒有則下一行重新匹配

# 如果加上re.s 則是將所有的字串作為乙個整體進行匹配

pattern = re.compile(r'(.*?)

',re.s)

duanzis = pattern.findall(html)

for duanzi in duanzis:

duanzi = duanzi.replace('','').replace('

','').replace('

','\n').replace('「','').replace('&rdquo','').replace('…','')

try:

# 將爬取的段子寫入檔案

file = open(file_name,'a',encoding='utf-8')

file.write('\n'.join(duanzi.split()))

file.close()

except oserror as e:

print(e)

python3正規表示式

正規表示式,又稱規則表示式。英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個...

Python3 正規表示式

常用的匹配模式 正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。re 模組使 python 語言擁有全部的正規表示式功能。re.match函式 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match...

Python3 正規表示式

正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。python 自1.5版本起增加了re 模組,它提供 perl 風格的正規表示式模式。re 模組使 python 語言擁有全部的正規表示式功能。compile 函式根據乙個模式字串和可選的標誌引數生成乙個正規表示式物件。該...