python+正则表达爬取猫眼电影top100

Kai 工作 5 次浏览 没有评论

做个记录

保存还没写,写好还要可视化读出来。。真为自己智商捉急啊,才这几行。写不下去了。

 

import requests
import re

#获取单页
def get_one_page(url):
    response = requests.get(url)
    if response.status_code == 200:
        return response.text
    return None

#提取内容
def parse_one_page(html):
    pattern = re.compile('</dd>.*?board-index-.*?>(.*?)</i>.*?data-src="(.*?.jpg).*?alt.*?name.*?href="(.*?)title="(.*?)".*?star">'
                         '(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>' , re.S)
    items = re.findall(pattern , html)
    for item in items:
        #yield返回一个列表
        yield {
            '页数' : item[0],
            '图片' : item[1],
            '链接' : item[2],
            '标题' : item[3],
            '主演' : item[4].strip()[3:],
            '上映时间' : item[5][5:],
            '评分': item[6] + item[7]
        }


def main(page):
    url = 'http://maoyan.com/board/4?offset=' + str(page)
    html = get_one_page(url)
    get_one_page(url)
    for item in parse_one_page(html):
        print(item)


if __name__ == '__main__':
    for i in range(10):
        main(i*10)



 

 

结果是这样的,列表形式

 

发表评论

Go