Categories: 工作

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

做个记录

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

 

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)



 

 

结果是这样的,列表形式

 

Kai

Share
Published by
Kai

Recent Posts

只有美区才可以升级到McAfee+Adv

 注意是升级到而不是直接购买 …

2 天 ago

美区en-us LiveSafe升级到McAfee+Adv

     有些小众McAfee…

2 天 ago

注册美区McAfee方法——堪比Affid=0!

 卡饭论坛上,有网友指出,Af…

1 周 ago

国区和美区McAfee的区别

 在卡饭论坛,有网友发现,国区…

1 周 ago

SQL评估期已过

 早上开发同事过来说数据库连不…

2 周 ago

【下一代存储】玻璃光盘

 据长江日报昨日消息,武汉光电…

3 周 ago