【Python】【爬蟲】【爬狼】004_正則規則模板及其應用
阿新 • • 發佈:2021-12-15
正則規則模板及其應用。通過使用正則表示式,取出我們想要的內容
正則規則模板 與 應用(一)
先看這些視訊,是在哪個div裡面的
for datapage in soup.find_all("div", class_="lpic"):
# 一個li標籤,包含一個視訊
for data in datapage.find_all("li"):
# 不知道soup代表著什麼,沒關係,也別急著寫,繼續往後看
我們要獲取的是
1.視訊的標題
2.視訊的型別
3.視訊的介紹
4.視訊的詳情頁連結
5.視訊的封面圖連結
正則規則模板
# 正則規則開始 gz_fan_title = re.compile(r'''<a href=".*?" title=".*?">(.*?)</a>''',re.S) gz_fan_url = re.compile(r'''<a href="(.*?)"''',re.S) gz_fan_url_img = re.compile(r'''referrerpolicy="no-referrer" src="(.*?)"''',re.S) gz_fan_type = re.compile(r'''<span>型別:(.*?)</span>''',re.S) gz_fan_message = re.compile(r'''<p>(.*?)</p>''', re.S) # 正則規則結束
應用正則規則模板
data = str(data) fan_title = re.findall(gz_fan_title, data) fan_url = re.findall(gz_fan_url, data) fan_img = re.findall(gz_fan_url_img, data) fan_type = re.findall(gz_fan_type, data) fan_message = re.findall(gz_fan_message, data)
那麼上面的data
是什麼,怎麼獲得呢?
# 假設搜尋love pageNumber = xrilag_SearchAll("love") # xrilag_SearchAll是自定義函式,想了解其具體程式碼的請檢視部落格https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html # pageNumber是搜尋結果的總頁數 # 使用for迴圈,一頁一頁進行處理 for page in range(pageNumber): # 根據頁面跳轉的地址改變規則寫出頁面含變數連結,然後進行原始碼獲取,後面便可以對這一頁展開分析與爬取資料了(https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html) html_Document = xrilang_UrlToDocument("https://www.yhdmp.cc/s_all?kw=love&pagesize=24&pageindex=" + str(page)) # xrilang_UrlToDocument是自定義函式,作用是獲取網頁原始碼。想了解其具體內容,請檢視部落格https://www.cnblogs.com/mllt/p/python_pc_pl_edu_002.html # 建立一個Beautiful Soup物件 soup = BeautifulSoup(html_Document, "html.parser") # parser是直譯器 # 使用了.kpic樣式的div,包含且只包含了此頁的所有視訊列表 for datapage in soup.find_all("div", class_="lpic"): # 一個li標籤,包含一個視訊 for data in datapage.find_all("li"): # 應用正則規則模板 data = str(data) fan_title = re.findall(gz_fan_title, data) fan_url = re.findall(gz_fan_url, data) fan_img = re.findall(gz_fan_url_img, data) fan_type = re.findall(gz_fan_type, data) fan_message = re.findall(gz_fan_message, data)
作者:萌狼藍天,轉載請註明原文連結:https://www.cnblogs.com/mllt/p/python_pc_pl_edu_004.html | 萌狼藍天@嗶哩嗶哩 | QQ:3447902411(僅限技術交流,新增請說明方向)