小白回顧 爬取貓眼Top100

2021-09-25 11:16:04 字數 2427 閱讀 7864

昨天寫的乙個爬蟲基礎課程爬取貓眼top100,今天分享一下:

爬取貓眼top100:

先導入import requests庫:

html=request.get(url)
這個函式可以獲取url裡面的內容

我們可以輸出html.text檢測一下

print(html.text)

這裡可能會出現錯誤,所以我們要檢視一下status_code是否為200

print(html.status_code)

如果為200說明可以進行爬取,不為200說明請求失敗

所以我們一般需要取構造乙個請求頭,來模擬瀏覽器去告訴網頁訪問它的是瀏覽器而不是爬蟲

headers裡面的內容可以通過網頁找到:

然後複製黏貼就行了

故:html=request.get(url,headers=headers)獲取到了網頁內容

(3)現在我們就可以對網頁內容進行提取,獲取我們想要的內容:

這部分內容是我們想要的,雖然在這只是一篇電影的內容,但下面每一篇電影的內容格式和他如出一轍,所以我們只需要拿它做樣例即可

這裡我們需要匯入import re這個庫寫正規表示式進行提取

注意:.*?只是對內容進行匹配,並不進行獲取(.*?)裡的內容才是我們需要獲取的內容

現在獲取到我們想要的資訊就可以進行匹配了:

**:

def parse_one_page(html):

pattern='''.*?

(.*?)

(.*?)

''' items = re.findall(pattern, html, re.s)

return items『

這裡講解一下re.s的用法:

因為當我們獲取匹配內容的時候會有』\n』(換行),而.*?只能匹配不含換行符的其他任意字元,所以我們再寫多行正規表示式的時候需要加上re.s

(4)獲取到匹配的內容後我們就可以寫入文件了:

接下來看一些**:

import requests

import re

def parse_one_page(html):

pattern='''.*?

(.*?)

(.*?)

''' items = re.findall(pattern, html, re.s)

return items

def get_more_page_ranklist(path):

with open(path, 'w') as f:

for i in range (0,10):

url = ''

url=url+str(i*10)

r=requests.get(url,headers=headers,timeout=3)

data=parse_one_page(r.text)

try:

for j in range(0,len(data)):

f.write(str(str(data[j]))+'\n')

print('第' + str(i) + ' page 抓取成功')

except:

print('第'+str(i)+' page 抓取失敗')

f.close()

if __name__=='__main__':

path='d:/爬蟲/top.txt'

由於本人太菜,格式無法弄的太好看,所以仍需學習,所以希望高手能多多指教共同進步

爬取貓眼TOP100

學完正則的乙個小例子就是爬取貓眼排行榜top100的所有電影資訊 看一下網頁結構 可以看出要爬取的資訊在標籤和標籤中間 正規表示式如下 pattern re.compile board index.data src name.a.star releasetime integer fraction r...

爬取貓眼top100

導入庫 json用於讀取和寫入檔案 requests請求html requestexception用於獲取requests錯誤 time定義時間 re正規表示式 import json import requests from requests.exceptions import requestex...

爬蟲 爬取貓眼TOP100

原文崔慶才 python3網路爬蟲實戰 目標 熟悉正規表示式,以及爬蟲流程 獲取貓眼top100榜單 1 分析 目標站點為需要獲取 top100榜單的影片名稱 主演 上映時間 地區 評分等資訊都直接顯示在network對應的response中,可解析對應的html進行獲取。且從第1頁到第二頁,url...