03 获取豆瓣电影top250

news/2024/7/19 11:24:45 标签: 爬虫
''''''
'''
https://movie.douban.com/top250?start=0&filter=
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=

1、发送请求
2、解析数据
3、保存数据
'''
import requests
import re
#爬虫三部曲
#1、发送请求
def get_page(base_url):
    response = requests.get(base_url)
    return response

#2、解析文本
def parse_index(text):
    res = re.findall('<div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>'
                     '.*?导演:(.*?)</p>.*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价</span>'
                     '.*?<span class="inq">(.*?)</span>',text,re.S)
    #print(res)
    return res

#3、保存数据
def save_data(data):
    with open('douban.txt','a',encoding='utf-8') as f:
        f.write(data)



#main + 回车键
if __name__ == '__main__':
    #num = 10
    #base_url = 'https://movie.douban.com/top250?start={}&filter='.format(num)

    num = 0
    for line in range(10):
        base_url = f'https://movie.douban.com/top250?start={num}&filter='
        num += 25
        print(base_url)

        #1、发送请求,调用函数
        response = get_page(base_url)

        #2、解析文本
        movie_list = parse_index(response.text)

        #3、保存数据
        #数据的格式化
        for movie in movie_list:
            #print(movie)

            #解压赋值
            #电影排名、电影url、电影名称、导演 - 主演 - 类型,电影评价,评价人数,电影简介
            v_top,v_url,v_name,v_daoyan,v_point,v_num,v_desc = movie


            movie_content = f'''
            电影排名:{v_top}
            电影url:{v_url}
            电影名称:{v_name}
            电影主演:{v_daoyan}
            电影评分:{v_point}
            评价人数:{v_num}
            电影简介:{v_desc}
            \n
            '''
            print(movie_content)

            #保存数据
            save_data(movie_content)

 

转载于:https://www.cnblogs.com/urassya/p/11093872.html


http://www.niftyadmin.cn/n/1341645.html

相关文章

VMware Server 2.0.2 使用教程及安装方法[图文]

点评&#xff1a;VMWare是一个“虚拟PC”软件。它使你可以在一台机器上同时运行二个或更多Windows、DOS、 LINUX系统。鉴于很多朋友不会使用&#xff0c;特整理篇VMware Server 2.0.2安装使用教程&#xff0c;方便需要的朋友VMWare Server Beta是来自VMWare的免费的服务器虚拟软…

zay大爷的膜你题 D2T2——不老梦(AK梦)

还是万年不变的外链 这个题。。。。。是最难的。。。。但是不知道为啥扶苏神仙讲完了之后我竟然听懂了。。。。 所以这个题我要好好写一写 首先我们看一看每一个测试点&#xff0c;来一点点得分 第一个测试点n 1&#xff0c;直接输出w1就行&#xff0c;5分到手 第2-5个点&…

java 链接 apollo_java——Apollo配置中心之二——apollo服务端部署

java——Apollo配置中心之二——apollo服务端部署java——Apollo配置中心之二——apollo服务端部署Apollo配置中心集成运行环境由于Apollo本身根据SpringBoot和SpringCloud开发的,脚本文件支持windows系统、Linux系统&#xff0c;建议CentOS 7。且本身依赖很少&#xff0c;只依…

笔记: ASP.NET Core视图组件

视图组件 asp.net core mvc 提供了部分视图的新替代品&#xff1a;视图组件。 视图组件与分布视图的主要区别在于视图组件与控制器不相关。可使用在独立于单个控制器的场景&#xff0c;如&#xff1a;菜单导航、侧边栏、分页栏等。 using System.Threading.Tasks; using Micros…

java数据库修改功能_java连接数据库实现添加、修改、查询功能

一、题目&#xff1a;使用java语言连接数据库完成简单的查询、修改、添加功能二、源代码&#xff1a;import java.util.Scanner;import java.sql.SQLException;import java.sql.Statement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet…

【手机游戏开发优化篇】详解手游[体积]及[运行内存]的优化篇!

本站文章均为李华明Himi原创,转载务必在明显处注明&#xff1a;&#xff08;作者新浪微博&#xff1a;李华明Himi) 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/1521.html 点击订阅 本博客最新动态!及时将最新博文通知您&#xff01;新年刚过&…

jmeter通过BeanShell,实现对接口参数HmacSHA256加密(转)

jmeter通过BeanShell&#xff0c;实现对接口参数HmacSHA256加密2019-04-29 05:10 ps. 最近抓包网站的登陆请求&#xff0c;发现就2个参数&#xff0c;用户名和密码&#xff0c;通过工具去请求这个接口&#xff0c;一直返回参数错误。 原因大概有两个吧&#xff1a;1.未指定连接…

java虚拟机加载类过程_深度分析:Java虚拟机类加载机制、过程与类加载器

虚拟机类加载机制是把描述类的数据从 Class 文件加载到内存&#xff0c;并对数据进行校验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的 Java 类型。​ 需要注意的是 Java 语言与其他编译时需要进行连接工作的语言不通&#xff0c;它的连接过程是在程序运行期…