码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【网络数据采集】python爬取豆瓣top250电影目录


    当你找不到电影看的时候,收藏此篇,方便看。

    1. import requests
    2. from bs4 import BeautifulSoup
    3. def get_movies():
    4. headers = {
    5. 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36',
    6. 'Host': 'movie.douban.com'
    7. }
    8. movie_list = []
    9. for i in range(0,10):
    10. link = 'https://movie.douban.com/top250?start=' + str(i * 25)
    11. r = requests.get(link, headers=headers, timeout=10)
    12. print(str(i+1), "页响应状态码:", r.status_code)
    13. soup = BeautifulSoup(r.text, "lxml")
    14. div_list = soup.find_all('div', class_='hd')
    15. for each in div_list:
    16. movie = each.a.span.text.strip()
    17. movie_list.append(movie)
    18. return movie_list
    19. movies = get_movies()
    20. print(movies)

    我们一点一点的来解析一下:

    1,获取网页响应头

     打开Google Chrome,输入网址:豆瓣电影 Top 250https://movie.douban.com/top250在页面右键点击检查

    进入下面的控制台中,按以下步骤,如果点击All,发现没有东西,可以点击Ctrl+R:

     

     Request 获取方式为GET,Status Code输出200,状态码正常,获得

    User-Agent:

    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36

    第一页的网址为:https://movie.douban.com/top250

    第二页的网址为:https://movie.douban.com/top250?start=25&filter=

    第三页的网址为:https://movie.douban.com/top250?start=50&filter=

    我们可以看到在start后面是以此增加25,网页我们就可以以这样的办法来表示:

    'https://movie.douban.com/top250?start=' + str(i * 25)

    我们添加上页响应状态码,方便观察爬取进度:

    str(i+1), "页响应状态码:", r.status_code

    如下图显示:

     右键点击网页源码:

     

    最后将得到的电影目录放进列表中,得到:

     

  • 相关阅读:
    vue中使用electron
    Python停车管理系统毕业设计-附源码271400
    SSM学生惩奖系统的设计与实现毕业设计-附源码201520
    【软考-中级】系统集成项目管理工程师 【15 信息 (文档) 和配置管理】
    DBdoctor产品体验报告
    springboot server.address 配置问题
    外贸常用工具-领英精灵的批量加好友功能详细解析
    【SQL Server】外键约束
    html5-ajax-php-python-实现服务器文件夹搜索-前端显示
    微信小程序接口请求多文件+参数上传、单文件+参数上传(formData形式) 微信小程序实现formData格式传参(亲测有效)
  • 原文地址:https://blog.csdn.net/m0_62919535/article/details/125998898
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号