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

VC 6.0 挂服务 提示503

我们有一台VC 6.0的服务挂…

2 周 ago

零成本grass挖矿教程

最近发现个新币,还没上交易所,…

3 周 ago

Windows Server 2025 的AD架构版本

   Windows 2025…

3 周 ago

【项目】跨数据中心(跨站点)Exchange Server 2013恢复/高可用

今年换到一家乙方公司了,主要工…

4 周 ago

主域挂了怎么办?

假设在极端情况下,没有备份的前…

1 月 ago

为什么在AD管理中只能看到3个操作主机?

我们在日常的Windows域管…

1 月 ago