Python爬蟲運用正規表示式的方法和優缺點

2022-09-28 18:48:09 字數 1784 閱讀 4701

前言

我看到最近幾部電影很火,查了一下貓眼電影上的資料,發現還有個榜單,裡面有各種經典和熱映電影的排行榜,然後我覺得電影封面圖還挺好看的,想著一張一張**真是費時費力,於是突發奇想,好像可以用一下最近學的東西實現我的需求,學習了正規表示式之後,想著要感受一下它在爬蟲裡面的效果和優缺點。

目標:爬取top100榜單上電影的封面圖

top100榜單規則:將貓眼電影庫中的經典影片,按照評分和評分人數從高到低綜合排序取前100名,每天上午10點更新。相關資料**於「貓眼電影庫」。

下面是我做的步驟:

(1)檢視頁面元素,找到包含的路徑的**段落

(2)分析在web上面的唯一屬性,便於之後獲取正確位置資訊

(3)因為需要翻頁,觀察多個頁面的url變化

(4)綜合以上幾個點,編寫合適的正規表示式

1、python 標準庫中re模組提供了正規表示式的全部功能,直接引入;requests模組是http庫,爬蟲常用庫,而urllib.requests 則是最後用到寫入檔案的函式

import re

import requests

import urllibwww.cppcns.com.request

2、先接收url位址的html頁面,然後轉化為str形式(正規表示式是匹配字串),第乙個pattern1縮小範圍,抓取目標部分,result1接收匹配的結果,這時候所有封面圖位址就在裡面了

response = requests.get(url)

response = str(response.content)

patttern1 = '

.+?'

result1 = re.compile(pat).findall(response)

3、第二個正則,匹配的位址資訊

pat2 = 'photos = re.compile(pat1).findall(re1[0])這時候爬取到100張圖的資訊,如下圖:

4、繼續下一步,把每張命名好,需要正確的位址,避免重複 

x = 1

for imgurl in name:

imgname程式設計客棧 = 'd:/top 100/'+str(i/10)+str(x)+'www.cppcns.com.jpg'

5、最後一步了,因為需要翻頁爬取,所以加了乙個迴圈,10頁內容爬取下來

for i in range(0, 100, 10):

url = ''+str(i)

get_one_page(url, i)

#定義函式,多次呼叫

相對來說,這是乙個很簡單的應用,程式設計客棧也是自己學習之後的實踐,在這個例子中,我是用到正規表示式來實現的,還有其他方法,而且可能簡單,比如beautifulsoup,xpath等方法,用在更加複雜的爬蟲專案裡面,需要的知識更多,方法更嚴謹,還需學習學習!

總結以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。

本文標題: python爬蟲運用正規表示式的方法和優缺點

本文位址: /wangluo/re/269876.html

點讚打賞

分享如果認為本文對您有所幫助請贊助本站

標籤:python正規表示式  python正規表示式匹配  python正規表示式爬蟲

python 實用技巧之正規表示式查詢和替換文字的操作方法python字串和正規表示式中的反斜槓('\')問題詳解

Python爬蟲運用正規表示式!

python資源共享群 626017123 目標 爬取top100榜單上電影的封面圖 下面是我做的步驟 1 檢視頁面元素,找到包含的路徑的 段落 2 分析在web上面的唯一屬性,便於之後獲取正確位置資訊 3 因為需要翻頁,觀察多個頁面的url變化 4 綜合以上幾個點,編寫合適的正規表示式 1 pyt...

python爬蟲 正規表示式

正規表示式是十分高效而優美的匹配字串工具,一定要好好掌握。利用正規表示式可以輕易地從返回的頁面中提取出我們想要的內容。1 貪婪模式與非貪婪模式 python預設是貪婪模式。貪婪模式,總是嘗試匹配盡可能多的字元 非貪婪模式,總是嘗試盡可能少的字元。一般採用非貪婪模式來提取。2 反斜槓問題 正規表示式裡...

Python爬蟲 正規表示式

一般的正規表示式都可直接到正則生成工具處生成,常見匹配字元 re.match及其常規匹配 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match pattern,string,flags 0 返回的為乙個物件,其中span代表長...