#!/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...