python爬虫之猫眼视频Top100

标签: python爬虫  猫眼视频Top100

猫眼视频Top100

import requests
import re,json
from multiprocessing import Pool

def get_one_page(url,head):
    #异常处理
    try:
        #发送请求
        response=requests.get(url,headers=head)
        #判断网页状态码是否成功获取网页
        if response.status_code==200:
            return response.text
        return None
    except Exception:
        #其他返回None
        return None
def parse_one_page(html):
    #利用正则表达式进行信息过滤
    pattern = re.compile('<dd>.*?board-index board-index.*?>(.*?)</i>.*?<a.*?title="(.*?)".*?<img.*?'
                         'lt.*?src="(.*?)".*?star">(.*?)</p>.*?releasetime">(.*?)'
                         '</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>',re.S)
    #获取筛选后的信息并返回
    items=re.findall(pattern,html)
    return items
def write_to_file(items):
    #写入信息
    with open("猫眼电影Top100.txt", 'a+') as f:
        for item in items:
            #格式整理
            item= "排名"+":"+item[0]+'\n'+\
                  "电影名称"+':'+item[1]+'\n'+\
                  "电影封面"+':'+item[2]+'\n'+\
                  item[3].strip()+'\n'+\
                  "上映时间"+':'+item[4]+'\n'+\
                  "评分"+':'+item[5]+item[6]+'\n\n'
            #写入
            f.write(str(item)+'\n')
    #关闭
    f.close()

def main(i):
    #设置UA,模拟浏览器
    head = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

    #生成url
    url = 'http://maoyan.com/board/4?offset=%d'%(i*10)
    #获取返回的网页
    html=get_one_page(url,head)
    #解析网页,进行信息筛选
    items=parse_one_page(html)
    #信息写入
    write_to_file(items)


if __name__ == '__main__':
    print("开始抓取猫眼TOP100电影榜单................")
    #实例化进程池
    pool=Pool()
    #进程开始
    pool.map(main,[i for i in range(10)])
    print("抓取完成,已写入文件............")

效果如下
这里写图片描述

原文链接:加载失败,请重新获取