#       https://movie.douban.com/top250?start=25&filter=   要爬取的网页

import re
from urllib.request import urlopen

def getPage(url):
    response=urlopen(url)
    return response.read().decode('utf-8')

def parsePage(s):
    ret=com.finditer(s)
    for i in ret:
        ret={
            'id': i.group('id'),
            'move_name':i.group('move_name'),
            'move_d':i.group( 'move_d'),
            'move_t':i.group('move_t'),
            'content': i.group('content'),
            'infor':i.group('infor')
        }
        yield  ret

def main(num):
    url='https://movie.douban.com/top250?start=%s&filter= ' %num
    res=getPage(url)
    ret=parsePage(res)
    print(ret)
    f=open('move',mode='a+',encoding='utf-8')
    for obj in ret:
        print(obj)
        data1=str(obj).replace('\\n','')
        data2=data1.replace(' ','')
        f.write(data2 + '\n')
    f.close()

com=re.compile('<div class="item">(?:.*?)<em class="">(?P<id>.*?)</em>(?:.*?)alt=(?P<move_name>.*?)src(?:.*?)导演:'
            '(?P<move_d>.*?)&nbsp;(?:.*?)<br>(?P<move_t>.*?)&nbsp(?:.*?)&nbsp;/&nbsp;(?P<content>.*?)</p>(?:.*?)<span class="inq">(?P<infor>.*?)</span>',re.S)

count=0
for i in range(10):
    main(count)
    count+=25