中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

五合一免費建站品牌推廣策略分析

五合一免費建站,品牌推廣策略分析,金鄉(xiāng)網(wǎng)站建設,云酒店網(wǎng)站建設正則表達式基礎 元字符 B站教學視頻: 正則表達式元字符基本使用 量詞 貪婪匹配和惰性匹配 惰性匹配如下兩張圖,而 .* 就表示貪婪匹配,即盡可能多的匹配到符合的字符串,如果使用貪婪匹配,那么結果就是圖中的情況三 p…

正則表達式基礎

元字符

B站教學視頻:?正則表達式元字符基本使用

量詞

貪婪匹配和惰性匹配

惰性匹配如下兩張圖,而 .* 就表示貪婪匹配,即盡可能多的匹配到符合的字符串,如果使用貪婪匹配,那么結果就是圖中的情況三

python中re模塊

re模塊的常用方法

import re# findall(正則表達式, 待匹配的字符串) -> 符合正則表達式的內容(以列表的形式返回)
# 含義:匹配字符串中所有符合正則表達式的內容(以列表的形式返回)
res_findall = re.findall(r"\d+", "中國移動:10086,中國聯(lián)通:10010")
print(res_findall)  # ['10086', '10010']# re.finditer(正則表達式, 待匹配的字符串) -> 符合正則表達式的內容(以迭代器的形式返回)
# 含義:匹配字符串中所有符合正則表達式的內容(以迭代器的形式返回)
res_finditer = re.finditer(r"\d+", "中國移動:10086,中國聯(lián)通:10010")
print(res_finditer)  # <callable_iterator object at 0x000001CB2875B340>
for item in res_finditer:"""下面兩行輸出語句的輸出結果如下:<re.Match object; span=(5, 10), match='10086'>10086<re.Match object; span=(16, 21), match='10010'>10010item 中還有其他的方法,如item.start()/item.end()分別表示匹配到的字符串在原字符串中的起始索引和結束索引"""print(item)  # 得到match對象print(item.group())  # 得到匹配的字符串# re.search(正則表達式, 待匹配的字符串) -> 符合正則表達式的內容(返回match對象)
# 含義:匹配字符串中第一個匹配到的符合正則表達式的內容(返回match對象)
res_search = re.search(r"\d+", "中國移動:10086,中國聯(lián)通:10010")
print(res_search)  # <re.Match object; span=(5, 10), match='10086'>
print(res_search.group())  # 10086# 上述三種方法都是全文匹配,而match是從頭開始匹配
# re.match(正則表達式, 待匹配的字符串) -> 符合正則表達式的第一個字符串內容(返回match對象)
# 含義:從待匹配的字符串的第一個字符開始匹配,將匹配到的第一個結果返回,返回的是match對象
res_match = re.match(r"\d+", "中國移動:10086,中國聯(lián)通:10010")
print(res_match)  # None,字符串開頭不是數(shù)字,所以等于匹配不成功,結果為空
# print(res_match.group())  # 報錯
res_match = re.match(r"\d+", "10086,中國聯(lián)通:10010")
print(res_match)  # <re.Match object; span=(0, 5), match='10086'>
print(res_match.group())  # 10086# 預加載
# 應用場景:在爬蟲中,想要從網(wǎng)頁中匹配到想要的內容,匹配的正則表達式可能會很復雜,
# 而又多次的使用到該正則表達式,則可以預加載正則表達式
# 如下,好處就是該正則可以反復使用
obj = re.compile(r"\d+")
res1 = obj.findall("中國移動:10086,中國聯(lián)通:10010")
res2 = obj.finditer("中國移動:10086,中國聯(lián)通:10010")
res3 = obj.search("中國移動:10086,中國聯(lián)通:10010")
res4 = obj.match("中國移動:10086,中國聯(lián)通:10010")

分組匹配

s = """<div class="jay">周杰倫</div><div class="jj">林俊杰</div>
"""
# (?P<name>.*?) 分組匹配(P為大寫),相當于把括號中的.*?匹配到的內容給變量name
# 然后通過item.group('name')獲取到name的值
# 只要把想要單獨獲取的內容按以上形式:(?P<xxx>正則表達式) 即可獲取
# re.S 的作用就是讓 . 也可以匹配到換行符
# flags 是re模塊中compile、match、findall等方法的一個參數(shù),具體用法可以百度
obj = re.compile(r'<div class=".*?">(?P<name>.*?)</div>', re.S)
res = obj.finditer(s)
print(res)  # <callable_iterator object at 0x0000020F2E89AEC0>
for item in res:"""輸出結果如下:<re.Match object; span=(5, 31), match='<div class="jay">周杰倫</div>'><div class="jay">周杰倫</div>周杰倫<re.Match object; span=(36, 61), match='<div class="jj">林俊杰</div>'><div class="jj">林俊杰</div>林俊杰"""print(item)  # <re.Match object; span=(5, 31), match='<div class="jay">周杰倫</div>'>print(item.group())  # <div class="jay">周杰倫</div>print(item.group('name'))  # 周杰倫

注:關于re模塊方法中的flags參數(shù)作用,可以百度一下

案例——豆瓣top250(re解析版)

B站視頻教程:爬取豆瓣top250電影

import requests
import re
import csvurl = "https://movie.douban.com/top250"
headers = {"User-Agent": "xxx(寫上自己電腦的)"
}
resp = requests.get(url, headers=headers)
# print(resp.text)  # 沒加headers之前結果為空,說明網(wǎng)站有一些反扒機制
pattern = (r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)</span>.*?'r'導演: (?P<director>.*?)&nbsp;.*?主演: (?P<performer>.*?)...<br>.*?'r'<span class="rating_num" property="v:average">(?P<score>\d.\d)</span>')obj = re.compile(pattern, re.S)
res = obj.finditer(resp.text)
# 把獲取到的數(shù)據(jù)存入CSV文件,方便以后對數(shù)據(jù)進行操作
# 關于CSV文件,請百度
f = open('data.csv', mode='w', encoding='utf-8')
csv_writer = csv.writer(f)  # 表示向文件寫入數(shù)據(jù)
for i in res:# print(i.group('name'))# print(i.group('director'))# print(i.group('performer'))# print(i.group('score').strip())dic = i.groupdict()  # 將數(shù)據(jù)以字典形式返回# print(dic)# 將字典的值按行寫入文件,文件中的每一行就是一部電影的信息# csv文件中,每一行數(shù)據(jù)以逗號分隔每個值csv_writer.writerow(dic.values())
f.close()
resp.close()
print("數(shù)據(jù)解析完成!")

部分csv文件內容如下:

http://www.risenshineclean.com/news/63361.html

相關文章:

  • wordpress js 插件開發(fā)百度視頻排名優(yōu)化
  • wordpress文章圖片函數(shù)企業(yè)seo排名哪家好
  • 上海網(wǎng)站推廣方法seo快速排名軟件價格
  • 邯鄲做網(wǎng)站推廣的地方培訓課程安排
  • 住房和城鄉(xiāng)建設部科技網(wǎng)站長沙優(yōu)化科技
  • 有了 ftp服務器密碼 怎么改網(wǎng)站seo搜索引擎優(yōu)化課程
  • thinksns網(wǎng)站開發(fā)安裝百度到手機桌面
  • 網(wǎng)址導航是什么瀏覽器蘋果aso優(yōu)化
  • 響水網(wǎng)站建設服務商2023免費推廣入口
  • app源碼網(wǎng)站網(wǎng)絡違法犯罪舉報網(wǎng)站
  • 增光路網(wǎng)站建設哪些店鋪適合交換友情鏈接
  • 網(wǎng)絡推廣培訓課程4萬重慶seo報價
  • 如何在網(wǎng)站插做視頻優(yōu)化大師使用方法
  • 網(wǎng)站建設中 html模板淘客推廣
  • 東莞快速做網(wǎng)站東莞網(wǎng)絡公司電話
  • 表單大師 做網(wǎng)站怎么查網(wǎng)站是不是正規(guī)
  • 網(wǎng)站后臺管理方便嗎新疆今日頭條新聞
  • 網(wǎng)站怎么做留言板百度網(wǎng)站官網(wǎng)網(wǎng)址
  • 做企業(yè)網(wǎng)站 目的二維碼引流推廣的平臺
  • 網(wǎng)站被降權的表現(xiàn)應用商店優(yōu)化
  • 清新縣城鄉(xiāng)規(guī)劃建設局網(wǎng)站百度域名購買
  • 肇慶市企業(yè)網(wǎng)站建設品牌網(wǎng)絡銷售工資一般多少
  • 網(wǎng)站建設包含哪些網(wǎng)站模板套用教程
  • 網(wǎng)站軟件有哪些網(wǎng)站建設制作教程
  • 河北搜恒不給做網(wǎng)站seo網(wǎng)站自動推廣
  • 張家港哪家做企業(yè)網(wǎng)站競價推廣營銷
  • 自己做網(wǎng)站需要什么seo自動優(yōu)化工具
  • 怎樣做網(wǎng)站發(fā)帖天津百度關鍵詞seo
  • 安徽合肥市城鄉(xiāng)建設委員會網(wǎng)站在線子域名二級域名查詢工具
  • 有什么做網(wǎng)站優(yōu)化公司互聯(lián)網(wǎng)推廣廣告