爬蟲基礎 爬取貓眼Top100電影

2021-09-29 14:32:07 字數 3423 閱讀 9147

#!/usr/bin/env python3

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

# date: 2019/11/11 0011 12:40

# author: mijiu

# version: 1.0

import requests,re,csv

from lxml import etree

# 獲取頁面原始碼 (貓眼電影top100) by rosny 2019-11-11

def get_page(num=0):

pr =

url = ''

header =

response = requests.get(url,headers=header,params=pr)

return response.text

# 分析資料 (xpath驗證) 順手清理資料 by rosny 2019-11-11

def get_data(data):

html = etree.html(data)

data_mv = html.xpath('//body//img[@class="board-img"]')

# 電影名,位址

mv_list = list()

net_list = list()

for i in data_mv:

# print(i.xpath("./@alt"),i.xpath("./@data-src"))

# 主演

data_name = html.xpath('//p[@class="star"]')

name = list() # 主演列表

for j in data_name:

# 上映時間

time_mv = list()

for y in data_name:

# 評分

grade = list()

data_grade = html.xpath('//i[@class="integer"]/text()',) # 整數部分

data_grade2 = html.xpath('//i[@class="fraction"]/text()') # 小數部分

num = 0

for i in data_grade:

num+=1

top = list()

for i in range(10):

data__ = f'$$$$'

top2_0 = list() # 完整版列表 [[1],[2]]

for i in top:

return top2_0

# csv格式儲存清洗過後的資料

def csv_data(data):

with open("maoyan_top100/top100.csv","a") as cf:

wf = csv.writer(cf)

wf.writerows(data)

# 獲取

# 主函式

def main():

for i in range(10):

csv_data(get_data(get_page(i)))

get_img()

if __name__ == '__main__':

main()

使用正則

#!/usr/bin/env python3

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

# date: 2019/11/7 0007 14:18

# author: mijiu

# version: 1.0

import requests,re,csv

# 獲取頁面原始碼 (貓眼電影top100) by rosny 2019-11-7

def get_page(num=0):

pr =

url = ''

header =

response = requests.get(url,headers=header,params=pr)

return response.text

# 分析資料 (正則驗證) by rosny 2019-11-7

def get_data(data):

reobj = re.findall('(.*?)<.*?time">(.*?)<.*?ger">(.*?)<.*?tion">(\d)',data,re.s)

return reobj

# 資料清洗 by rosny 2019-11-7

def data_cleaning(data):

data_lis = list()

for i in data:

for j in data_lis:

j[2] = j[2].strip()

j[4] = j[4]+j[5]

j.pop()

return data_lis

# csv格式儲存清洗過後的資料

def csv_data(data):

# for i in data:

with open("file.csv","a+") as cf:

wf = csv.writer(cf)

wf.writerows(data)

# 獲取

# 主函式

def main():

for i in range(10):

csv_data(data_cleaning(get_data(get_page(i))))

if __name__ == '__main__':

# main()

get_img()

爬蟲 爬取貓眼TOP100

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

爬取貓眼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...