首页 > 其他分享 >猫眼电影TOP100

猫眼电影TOP100

时间:2023-12-15 18:02:57浏览次数:25  
标签:__ item 电影 re html main TOP100 page 猫眼

一、猫眼电影排行TOP100抓取(小案例)

声明:个人源码仅供自己学习记录,他人使用学习中切勿用于非法用途,请自觉遵守国家法律。造成的损失一概与本人无关。

​ 本文记录了自己学习途中的代码,主要通过正则提取解析网页内容然后存储到本地。猫眼电影拥有反爬机制,使用爬虫加上延时一样会限制爬虫。通过自己的验证,发现headers里面同时加上Referer和Cookie关键字可以有效解决反爬虫

import requests
import re
import time
import json


def get_one_page(url):
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
        'Referer':'https://www.maoyan.com/board/4?offset=0',
        'Host':'www.maoyan.com',
        'Cookie':'__mta=45446555.1702305147666.1702630145492.1702630166951.153; uuid_n_v=v1; uuid=182070B0983211EEA42BC76D52EF6155E124F6779666424A8A3A9F5BF9F143BC; _csrf=302474aaec1c34983f54bbe7225e9e592e968b1b3e7201f3f4b614e090a72775; _lxsdk_cuid=18c594b183569-0b4f030aaf92cd-26031051-144000-18c594b1836c8; _lxsdk=182070B0983211EEA42BC76D52EF6155E124F6779666424A8A3A9F5BF9F143BC; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1702305143; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1702630167; _lxsdk_s=18c6c90e46a-412-5bf-129%7C%7C187'
    }
    response = requests.get(url=url, headers=headers)
    if response.status_code == 200:
        print('开始抓取中!')
        return response.text
    print('爬取太过频繁!')
    return None

def write_to_file(content):
    with open('result.txt', 'a', encoding='utf-8') as f:
        f.write(json.dumps(content, ensure_ascii=False)) # ensure_ascii=False:存储不使用ascii码规范
# if __name__=='__main__':
#     main()
# 爬取:排名、电影封面图链接、电影名、主演、上映时间、评分
def parse_one_page(html):
    # re.S即让.匹配到换行符。尤其在抓取解析网页中re.S使用较频繁。
    pattern = re.compile(
        '<dd>.*?<i class=".*?">(.*?)</i>.*?data-src="(.*?)" alt="(.*?)".*?/>.*?<p class="star">(.*?)</p>'
        '.*?<p class="releasetime">(.*?)</p>.*?i class="integer">(.*?)</i><i class="fraction">(.*?)</i>', re.S
    )
    items = re.findall(pattern, html)
    for item in items:
        yield {
            'index':item[0],
            'imags':item[1],
            'title':item[2],
            'actor':item[3].strip()[3:],
            'time':item[4].strip()[5:],
            'score':item[5].strip() + item[6].strip() #评分在网页中被拆分为两个标签。通过字符串相加拼接在一起
        }
        
def main(offset):
    url = 'https://www.maoyan.com/board/4?offset={}'.format(offset)
    time.sleep(1)
    html_text = get_one_page(url)
    for item in parse_one_page(html_text):
        # print(item)
    	# item = parse_one_page(html_text)
        write_to_file(item) #调用保存文件函数
     print(f'抓取完成!')
    
# with open('测试.txt', 'r', encoding='utf-8') as f:
#     content = f.read()
if __name__=="__main__":
    for i in range(10): # 抓取TOP100
        main(offset=i*10)
        print('---')
        time.sleep(5)

标签:__,item,电影,re,html,main,TOP100,page,猫眼
From: https://www.cnblogs.com/cloud07/p/17903903.html

相关文章

  • 基于JavaWeb的电影推荐平台的设计与实现
     1.项目演示前端演示地址:http://96.8.117.232:8082/后端演示地址:http://96.8.117.232:8083/ (管理员账号:admin密码123456)访问慢是因为服务器是海外的,国内访问慢,便宜VPS凑合了2.项目介绍技术列表技术说明SpringBootWeb应用开发框架Vue3.xjava1.8my......
  • 基于JavaWeb的电影推荐平台的设计与实现
    1.项目演示前端演示地址:http://96.8.117.232:8082/后端演示地址:http://96.8.117.232:8083/(管理员账号:admin密码123456)访问慢是因为服务器是海外的,国内访问慢,便宜VPS凑合了2.项目介绍技术列表技术说明SpringBootWeb应用开发框架Vue3.xjava1.8mysql......
  • NLP项目实战01--之电影评论分类
    介绍:欢迎来到本篇文章!在这里,我们将探讨一个常见而重要的自然语言处理任务——文本分类。具体而言,我们将关注情感分析任务,即通过分析电影评论的情感来判断评论是正面的、负面的。展示:训练展示如下:实际使用如下:实现方式:选择PyTorch作为深度学习框架,使用电影评论IMDB数据集,......
  • 基于Java的电影院订票管理系统设计与实现(源码+lw+部署文档+讲解等)
    文章目录前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)代码参考数据库参考源码获取前言......
  • 【毕设精选】基于Java的电影院选座系统
    前言......
  • R语言贝叶斯模型预测电影评分数据可视化分析
    本文使用R语言帮助客户进行了贝叶斯模型预测电影评分,并对数据进行了可视化和分析。文章创建了五个新的特征变量,包括电影类型、导演获奖情况、电影票房、评论数量和影评人数量等,并分析了这些变量对电影评分的影响。通过模型预测和系数解释,发现imdb_rating具有最高的后验概率,且截距......
  • 一个好的软件工程就是一个好电影
    今天来跟大家分享一下我对于一个好的软件项目是什么样的观点和看法。首先说一下一个好的电影到底是应该是什么样的评判标准?首先我们要来说一个好电影,一定是讲清楚了某一个具体故事的。实际上我们都认为每个电影都至少讲清楚了一个故事,但是也看到了很多的烂片讲的故事根本不值得讲或......
  • 一个好的软件工程就是一个好电影
    今天来跟大家分享一下我对于一个好的软件项目是什么样的观点和看法。 首先说一下一个好的电影到底是应该是什么样的评判标准?首先我们要来说一个好电影,一定是讲清楚了某一个具体故事的。实际上我们都认为每个电影都至少讲清楚了一个故事,但是也看到了很多的烂片讲的故事根本不......
  • R语言贝叶斯模型预测电影评分数据可视化分析
    全文链接:https://tecdat.cn/?p=34421原文出处:拓端数据部落公众号本文使用R语言帮助客户进行了贝叶斯模型预测电影评分,并对数据进行了可视化和分析。文章创建了五个新的特征变量,包括电影类型、导演获奖情况、电影票房、评论数量和影评人数量等,并分析了这些变量对电影评分的影响。......
  • BS页面设计 | 寻梦环游记电影介绍
       ......