天天看點

爬蟲爬取貓眼電影TOP10的電影資訊

“”"

爬取貓眼電影TOP10的電影資訊

“”"

from urllib import request

import re

import time

import random

from fake_useragent import UserAgent

class MaoyanSpider(object):

def init(self):

self.url = ‘https://maoyan.com/board/4?offset={}’

def get_html(self,url):
    headers = { 'User-Agent': UserAgent().random }
    res = request.Request(url=url,headers=headers)
    resp = request.urlopen(res)
    html = resp.read().decode()
    self.parse_html(html)

def parse_html(self,html):
    regex = '<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.*?)</p>.*?releasetime">(.*?)</p>'
    pattern = re.compile(regex,re.S)
    dd_list = pattern.findall(html)
    self.save_html(dd_list)
def save_html(self,dd_list):
    item = {}
    for dd in dd_list:
        item['name'] = dd[0].strip()
        item['star'] = dd[1].strip()
        item['time'] = dd[2].strip()
        print(item)

def run(self):
    for offset in range(0,31,10):
        url = self.url.format(offset)
        self.get_html(url)
        time.sleep(random.randint(1,2))
           

if name == ‘main’:

start_time = time.time()

spider = MaoyanSpider()

spider.run()

end_time = time.time()

print(‘執行時間為:%.2f’%(end_time-start_time))