爬取猫眼电影

简介: 爬取猫眼电影
from urllib import request
import re
import time
import random
import csv
from ua_info import ua_list
# 定义一个爬虫类
class MaoyanSpider(object): 
    # 初始化
    # 定义初始页面url
    def __init__(self):
        self.url = 'https://maoyan.com/board/4?offset={}'

    # 请求函数
    def get_html(self,url):
        headers = {
   'User-Agent':random.choice(ua_list)}
        req = request.Request(url=url,headers=headers)
        res = request.urlopen(req)
        html = res.read().decode()
        # 直接调用解析函数
        self.parse_html(html)

    # 解析函数
    def parse_html(self,html):
        # 正则表达式
        re_bds = '<div class="movie-item-info">.*?title="(.*?)".*?<p class="star">(.*?)</p>.*?class="releasetime">(.*?)</p>'
        # 生成正则表达式对象
        pattern = re.compile(re_bds,re.S)
        # r_list: [('我不是药神','徐峥,周一围,王传君','2018-07-05'),...] 列表元组
        r_list = pattern.findall(html)
        self.save_html(r_list)
    # 保存数据函数,使用python内置csv模块
    def save_html(self,r_list):
        #生成文件对象  
        with open('maoyan.csv','a',newline='',encoding="utf-8") as f:
            #生成csv操作对象
            writer = csv.writer(f)
            #整理数据
            for r in r_list:
                name = r[0].strip()
                star = r[1].strip()[3:]
                # 上映时间:2018-07-05
                # 切片截取时间
                time = r[2].strip()[5:15]
                L = [name,star,time]
                # 写入csv文件
                writer.writerow(L)
                print(name,time,star)
    # 主函数
    def run(self):
        #抓取第一页数据
        for offset in range(0,11,10):
            url = self.url.format(offset)
            self.get_html(url)
            #生成1-2之间的浮点数
            time.sleep(random.uniform(1,2))
# 以脚本方式启动
if __name__ == '__main__':
    #捕捉异常错误
    try:
        spider = MaoyanSpider()
        spider.run()
    except Exception as e:
        print("错误:",e)
目录
相关文章
|
2月前
|
数据采集 JSON JavaScript
Python爬虫案例:抓取猫眼电影排行榜
python爬取猫眼电影排行榜数据分析,实战。(正则表达式,xpath,beautifulsoup)【2月更文挑战第11天】
71 2
Python爬虫案例:抓取猫眼电影排行榜
|
7月前
|
数据采集
|
8天前
|
数据采集 Web App开发 开发者
探秘Python爬虫技术:王者荣耀英雄图片爬取
探秘Python爬虫技术:王者荣耀英雄图片爬取
|
4月前
爬取电影数据
爬取电影数据
28 0
|
4月前
爬取小说
爬取小说
21 0
|
4月前
爬取链家二手房数据
爬取链家二手房数据
28 0
|
8月前
|
数据采集 XML 存储
构建一个简单的电影信息爬虫项目:使用Scrapy从豆瓣电影网站爬取数据
这个案例展示了如何使用 Scrapy 框架构建一个简单的爬虫项目,从网页中提取数据并保存到文件中。通过配置、编写爬虫代码、定义数据模型和数据处理管道,你可以灵活地构建各种爬虫应用。
212 0
构建一个简单的电影信息爬虫项目:使用Scrapy从豆瓣电影网站爬取数据
|
数据采集 Python
python爬虫爬取豆瓣电影排行榜
爬虫爬取豆瓣电影排行榜
178 0
|
数据采集 监控 安全
第九期|不是吧,我在社交媒体的照片也会被网络爬虫?
被批量盗取用户信息和原创内容,经分类梳理和初步加工后,被黑灰产转售给竞争对手或直接用于恶意营销。
130 0
第九期|不是吧,我在社交媒体的照片也会被网络爬虫?
|
数据挖掘 Python
Python数据分析系列03-豆瓣电影T250分析
很多人在羡慕别人身材好的时候,却不知道别人有多自律,然而,自己明明前一刻再提醒自己,一定要努力锻炼出好的身材,但是下一秒却没有办法控制自己的食欲。 总感觉自己有很多的才华,却没有机会去施展,可是却没有发现自己没有去努力的表现自己。
Python数据分析系列03-豆瓣电影T250分析