使用selenium爬取猫眼电影榜单数据

这篇具有很好参考价值的文章主要介绍了使用selenium爬取猫眼电影榜单数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

使用selenium爬取猫眼电影榜单数据,python案例分析归纳,selenium,python,爬虫,猫眼电影

近年来,随着互联网的快速发展和人们对电影需求的增加,电影市场也变得日趋繁荣。作为观众或者投资者,我们时常需要了解最新的电影排行榜和票房情况。本文将介绍如何使用Python编写一个爬虫脚本,通过Selenium库自动化操作浏览器,爬取猫眼电影榜单数据,并保存为Excel文件。

导入所需的库:

使用selenium爬取猫眼电影榜单数据,python案例分析归纳,selenium,python,爬虫,猫眼电影

  • import time:导入时间模块,用于添加延时等待。
  • from selenium import webdriver:导入Selenium库中的webdriver模块,用于创建浏览器实例和自动化操作。
  • from selenium.webdriver.common.by import By:导入Selenium库中的By模块,用于XPath定位元素。
  • import pandas as pd:导入pandas库,用于处理和分析数据。

设置ChromeDriver的路径,并创建一个Chrome浏览器实例:

使用selenium爬取猫眼电影榜单数据,python案例分析归纳,selenium,python,爬虫,猫眼电影

driver_path = 'ChromeDriver的路径'
driver = webdriver.Chrome(driver_path)

打开目标网页,这里以猫眼电影榜单页面为例:

使用selenium爬取猫眼电影榜单数据,python案例分析归纳,selenium,python,爬虫,猫眼电影

url = 'https://www.maoyan.com/board?timeStamp=1688716544141&sVersion=1&webdriver=false&index=3&signKey=44a722f975ab0b6750812bd0bf340b88&channelId=40011&requestCode=49793531118b4af79a95958d845ab0a7lgmud'
driver.get(url)
time.sleep(5)

使用XPath定位电影信息。通过查看网页源代码,发现电影信息所在的<dd>标签具有唯一的class属性名:

使用selenium爬取猫眼电影榜单数据,python案例分析归纳,selenium,python,爬虫,猫眼电影

info = driver.find_element(By.CLASS_NAME, "board-wrapper")
ddlist = info.find_elements(By.TAG_NAME, "dd")

遍历所有的<dd>标签,获取电影名称、导演和评分,并将数据保存到DataFrame中:

data = pd.DataFrame(columns=['电影名称', '导演', '评分'])
i = 0
for item in ddlist:
    titles = item.find_element(By.CLASS_NAME, "board-item-main").find_element(By.CLASS_NAME, "name").text
    directors = item.find_element(By.CLASS_NAME, "star").text
    scores = item.find_element(By.CLASS_NAME, "releasetime").text
    data.loc[i] = [titles, directors, scores]
    i += 1
    print(f"电影名称:{titles},导演:{directors},评分:{scores}")

将DataFrame导出为Excel文件:

output_path = '猫眼.xlsx'
data.to_excel(output_path, index=False)

关闭浏览器:

driver.quit()

通过以上代码,我们成功实现了使用Python爬取猫眼电影榜单数据的功能。

完整代码

使用selenium爬取猫眼电影榜单数据,python案例分析归纳,selenium,python,爬虫,猫眼电影

import time

from selenium import webdriver
from selenium.webdriver.common.by import By
import pandas as pd

# 设置ChromeDriver的路径
driver_path = ''

# 创建Chrome浏览器实例
driver = webdriver.Chrome(driver_path)

# 打开目标网页
url = 'https://www.maoyan.com/board?timeStamp=1688716544141&sVersion=1&webdriver=false&index=3&signKey=44a722f975ab0b6750812bd0bf340b88&channelId=40011&requestCode=49793531118b4af79a95958d845ab0a7lgmud'
driver.get(url)
time.sleep(5)
# 使用XPath定位电影信息
info = driver.find_element(By.CLASS_NAME, "board-wrapper")
ddlist = info.find_elements(By.TAG_NAME, "dd")
# print(ddlist)
data = pd.DataFrame(columns=['电影名称', '导演', '评分'])
i = 0
for item in ddlist:
    # print(item)
    # 获取所有电影信息
    titles = item.find_element(By.CLASS_NAME, "board-item-main").find_element(By.CLASS_NAME, "name").text
    directors = item.find_element(By.CLASS_NAME, "star").text
    scores = item.find_element(By.CLASS_NAME, "releasetime").text
    data.loc[i] = [titles, directors, scores]
    i += 1
    print(f"titles{titles}, directors{directors} , scores{scores}")

# # 将DataFrame导出为Excel文件
output_path = '猫眼.xlsx'
data.to_excel(output_path, index=False)
#
# # 关闭浏览器
driver.quit()

分点说明

  1. import time:导入时间模块,用于添加延时等待。

  2. from selenium import webdriver:导入Selenium库中的webdriver模块,用于创建浏览器实例和自动化操作。

  3. from selenium.webdriver.common.by import By:导入Selenium库中的By模块,用于XPath定位元素。

  4. import pandas as pd:导入pandas库,用于处理和分析数据。

  5. driver_path = '':设置ChromeDriver的路径,填写你的ChromeDriver路径。

  6. driver = webdriver.Chrome(driver_path):创建一个Chrome浏览器实例。

  7. url = 'https://www.maoyan.com/board?timeStamp=1688716544141&sVersion=1&webdriver=false&index=3&signKey=44a722f975ab0b6750812bd0bf340b88&channelId=40011&requestCode=49793531118b4af79a95958d845ab0a7lgmud':目标网页的URL。

  8. driver.get(url):打开目标网页。

  9. time.sleep(5):等待5秒,确保页面加载完成。

  10. info = driver.find_element(By.CLASS_NAME, "board-wrapper"):使用By.CLASS_NAME通过class名称定位电影信息所在的元素。

  11. ddlist = info.find_elements(By.TAG_NAME, "dd"):使用By.TAG_NAME通过标签名称定位所有电影信息所在的元素。

  12. data = pd.DataFrame(columns=['电影名称', '导演', '评分']):创建一个空的DataFrame,用于存储电影数据,并指定列名。

  13. i = 0:设置索引变量i。

  14. for item in ddlist::遍历所有电影信息。

  15. titles = item.find_element(By.CLASS_NAME, "board-item-main").find_element(By.CLASS_NAME, "name").text:通过XPath定位电影名称,并使用.text获取文本内容。

  16. directors = item.find_element(By.CLASS_NAME, "star").text:通过XPath定位导演信息,并使用.text获取文本内容。

  17. scores = item.find_element(By.CLASS_NAME, "releasetime").text:通过XPath定位评分信息,并使用.text获取文本内容。

  18. data.loc[i] = [titles, directors, scores]:将电影名称、导演和评分添加到DataFrame中的一行。

  19. i += 1:索引自增1。

  20. print(f"titles{titles}, directors{directors} , scores{scores}"):打印每部电影的名称、导演和评分。

  21. output_path = '猫眼.xlsx':指定输出Excel文件的路径。

  22. data.to_excel(output_path, index=False):将DataFrame保存为Excel文件,不包含索引列。

  23. driver.quit():关闭浏览器。

完结

点赞加关注下个代码有帮助
使用selenium爬取猫眼电影榜单数据,python案例分析归纳,selenium,python,爬虫,猫眼电影文章来源地址https://www.toymoban.com/news/detail-550224.html

到了这里,关于使用selenium爬取猫眼电影榜单数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python数据分析案例30——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

    最近总看到《消失的她》票房多少多少,《孤注一掷》票房又破了多少多少..... 于是我就想自己爬虫一下获取中国高票房的电影数据,然后分析一下。 数据来源于淘票票:影片总票房排行榜 (maoyan.com) 爬它就行。 不会爬虫的同学要这代码演示数据可以参考:数据   首先爬虫

    2024年02月08日
    浏览(52)
  • 【python爬虫实战】用python爬取爱奇艺电视剧十大榜单的全部数据!

    目录 一、爬取目标 二、讲解代码 三、查看结果 四、视频演示 五、附完整源码 本次爬取的目标是,爱奇艺电视剧类目下的10个榜单:电视剧风云榜-爱奇艺风云榜 ​ 可以看到,这10个榜单包含了: 热播榜、飙升榜、必看榜、古装榜、言情榜、都市榜、搞笑榜、年代榜、悬疑

    2024年02月08日
    浏览(56)
  • 〖Python网络爬虫实战㉔〗- Ajax数据爬取之Ajax 分析案例

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                 python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月07日
    浏览(68)
  • 爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】

    在本篇博客中,我们将使用 Python 的 Selenium 和 BeautifulSoup 库来实现一个简单的网页爬虫,目的是爬取豆瓣电影TOP250的数据,并将结果保存到Excel文件中。 Selenium 是一个自动化测试工具,可以模拟用户在浏览器中的交互操作。我们将使用 Selenium 来打开网页、获取网页源码。 B

    2024年02月12日
    浏览(50)
  • Python爬虫|使用Selenium轻松爬取网页数据

    1. 什么是selenium? Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作浏览器一样。支持的浏览器包括IE,Firefox,Safari,Chrome等。 Selenium可以驱动浏览器自动执行自定义好的逻辑代码,也就是可以通过代码完全模拟成人类使用

    2024年02月04日
    浏览(55)
  • 华纳云:Python中如何使用Selenium爬取网页数据

    这篇文章主要介绍“Python中如何使用Selenium爬取网页数据”,在日常操作中,相信很多人在Python中如何使用Selenium爬取网页数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中如何使用Selenium爬取网页数据”的疑惑有所帮助!接下

    2024年02月07日
    浏览(66)
  • 用Python爬取电影数据并可视化分析

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、获取数据 1.技术工具 2.爬取目标 3.字段信息 二、数据预处理 1.加载数据 2.异常值

    2024年02月06日
    浏览(65)
  • python爬虫爬取电影数据并做可视化

    1、发送请求,解析html里面的数据 2、保存到csv文件 3、数据处理 4、数据可视化 需要用到的库: 注意:后续用到分词库jieba以及词频统计库nltk    解释器: python  3.10.5 编辑器:VsCode -jupyter-notebook 使用ipynb文件的扩展名 vscode会提示安装jupyter插件 效果: 注意:使用jieba分词,

    2024年02月07日
    浏览(36)
  • Python网页爬虫爬取豆瓣Top250电影数据——Xpath数据解析

    1.1 查看原页面信息 首先打开豆瓣Top250电影页面,其网址是:https://movie.douban.com/top250。 可以发现,该页面展示的电影信息有中英文电影名、导演、主演、上映年份、国籍、电影类型、评分等。 下滑到页面底部,发现第一页有25部电影的数据,并且可以点击页码数实现页面跳转

    2024年02月05日
    浏览(50)
  • python爬虫——爬取豆瓣top250电影数据(适合初学者)

    爬取豆瓣top250其实是初学者用于练习和熟悉爬虫技能知识的简单实战项目,通过这个项目,可以让小白对爬虫有一个初步认识,因此,如果你已经接触过爬虫有些时间了,可以跳过该项目,选择更有挑战性的实战项目来提升技能。当然,如果你是小白,这个项目就再适合不过

    2024年02月07日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包