python 爬虫实战六:用 selenium 爬取豆瓣电影
今天帮朋友爬取豆瓣电影的数据,以便进行社交网络分析。
首先打开豆瓣电影,然后点击 分类 ,选择要爬取的特定电影
这里以国产喜剧片为例:依次点击 电影、喜剧、中国大陆
然后点击一个小的列表按键
找到我们要爬取的数据
下拉到最底部,有一个 加载更多
点击会出现新的电影数据。说明这是一个动态网站,需要使用selenium来爬取。
selenium 是一个非常简单方便的库,用来模拟人进行上述操作。但是需要提前安装好这个库,而且需要安装火狐或者Chrome浏览器的geckodriver,具体的细节可以阅读官方教程,或者其他网上的一些教程。
这里以点击 加载更多 10次为例,爬取200部电影数据。
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Sun Dec 20 10:10:41 2020@author: zxw
"""
# 引入库
from selenium import webdriver
import time
import pandas as pd
start_url = 'https://movie.douban.com/'def get_driver():try:return webdriver.PhantomJS()except Exception:return webdriver.Firefox()driver = get_driver()
driver.get(start_url)# 点击“分类”
driver.find_element_by_link_text('分类').click()
time.sleep(1)
# 点击“电影”
driver.find_element_by_xpath('/html/body/div[3]/div[1]/div/div[1]/div/div/div[1]/div[1]/ul[1]/li[2]/span').click()
time.sleep(1)
# 点击“喜剧”
driver.find_element_by_xpath('/html/body/div[3]/div[1]/div/div[1]/div/div/div[1]/div[1]/ul[2]/li[3]/span').click()
time.sleep(1)
# 点击“中国大陆”
driver.find_element_by_xpath('/html/body/div[3]/div[1]/div/div[1]/div/div/div[1]/div[1]/ul[3]/li[2]/span').click()
time.sleep(1)
# 点击“展开列表”
driver.find_element_by_xpath('/html/body/div[3]/div[1]/div/div[1]/div/div/div[1]/div[2]/div[2]/div[2]/a[2]/span').click()
time.sleep(1)# 设置点击“加载更多”的次数
n = 10for i in range(n):driver.find_element_by_class_name('more').click()time.sleep(1)# 爬取数据
title = driver.find_elements_by_class_name('title')
rating = driver.find_elements_by_class_name('rating')
cast = driver.find_elements_by_class_name('cast')
data = pd.DataFrame({"电影":title,"评分":rating,"导演":cast,"主演":cast})data['电影'] = data['电影'].apply(lambda x: x.text)
data['评分'] = data['评分'].apply(lambda x: x.text)
data['导演'] = data['导演'].apply(lambda x: x.text.split('\n')[0][3:].split('/'))
data['主演'] = data['主演'].apply(lambda x: x.text.split('\n')[1][3:].split('/'))# 输出
outputpath='c:/Users/zxw/Desktop/修身/与自己/数据科学/爬虫/豆瓣电影/movie.csv' ## 路径需要自己改!
data.to_csv(outputpath,sep=',',index=False,header=True,encoding='utf_8_sig')
最终爬取效果如下:
python 爬虫实战六:用 selenium 爬取豆瓣电影相关推荐
- Python爬虫实战案例一:爬取猫眼电影
背景 笔者上一篇文章<基于猫眼票房数据的可视化分析>中爬取了猫眼实时票房数据,用于展示近三年电影票房概况.由于数据中缺少导演/演员/编剧阵容等信息,所以爬取猫眼电影数据进行补充.关于爬虫的 ...
- 【Python爬虫实战】使用Selenium爬取QQ音乐歌曲及评论信息
本文对使用到的技术仅做简单的介绍,若想了解更多,请前往相应的官网网站进行学习. 本文适合对爬虫相关知识接触不多的新手,主要是普及Selenium如何做爬虫,大佬请跳过. 1.Selenium简单介绍 ...
- python爬取豆瓣电影信息可行性分析_Python爬虫实现的根据分类爬取豆瓣电影信息功能示例...
本文实例讲述了Python爬虫实现的根据分类爬取豆瓣电影信息功能.分享给大家供大家参考,具体如下: 代码的入口:if __name__ == '__main__': main()#! /usr/bin ...
- Python 爬虫实战,模拟登陆爬取数据
Python 爬虫实战,模拟登陆爬取数据 从0记录爬取某网站上的资源连接: 模拟登陆 爬取数据 保存到本地 结果演示: 源网站展示: 爬到的本地文件展示: 环境准备: python环境安装 略 安装r ...
- Python爬虫实战系列(一)-request爬取网站资源
Python爬虫实战系列(一)-request爬取网站资源 python爬虫实战系列第一期 文章目录 Python爬虫实战系列(一)-request爬取网站资源 前言 一.request库是什么? 二 ...
- python爬虫实战(一)--爬取知乎话题图片
原文链接python爬虫实战(一)–爬取知乎话题图片 前言 在学习了python基础之后,该尝试用python做一些有趣的事情了–爬虫. 知识准备: 1.python基础知识 2.urllib库使用 ...
- python爬虫入门练习:BeautifulSoup爬取猫眼电影TOP100排行榜,pandas保存本地excel文件
传送门:[python爬虫入门练习]正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件 对于上文使用的正则表达式匹配网页内容,的确是有些许麻烦,替换出现任何的差错都会导致 ...
- 使用Selenium爬取豆瓣电影前100的爱情片相关信息
slenium入门小练手之使用Selenium爬取豆瓣电影前100的爱情片相关信息 文章目录 什么是Selenium 1.准备工作 1.1 安装Selenium 1.2 浏览器驱动安装 1.3 环境变 ...
- 爬虫入门经典(四) | 如何爬取豆瓣电影Top250
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...
最新文章
- centos7 利用 crontab 执行 定时任务 计划任务
- yml语法规则 (5.spring boot配置文件注入@ConfigurationProperties)、配置文件处理器...
- oracle适配器接口,Oracle
- EOS节点之争已开始 准备好欣赏了么?
- Python 之字典常用方法
- 实用JavaScript网页特效编程百宝箱pdf
- sourcetree帮助文档
- 使用httpclient发送get请求
- Android Studio 解决 Cannot resolve symbol xxx 添加依赖后出现飘红
- 机器换人是走向智能制造的必然过程,那么机器人的价值主要体现在哪些方面?
- 数学物理计算机的思考
- maven配置环境变量
- 【腾讯TMQ】TBS主线众测实践之路
- 凝视联通4G和4G+战略落地半年报,从数据亮点中找出路
- python基础篇{数据类型}
- iOS 开发中的日期格式
- 一个屌丝程序员的青春(一三二)
- 实验二 面向对象(一)(预习报告)
- Javabase入门介绍
- 使用图神经网络预测药物-药物相互作用
热门文章
- excel多条件查找(用到index和match)
- 洛谷P2392 kkksc03考前临时抱佛脚
- 知识图谱论文阅读(十五)【arxiv】A Survey on Knowledge Graph-Based Recommender Systems
- netlify国内快吗
- 语音信号处理(1):男女声在线识别系统(倒谱、基音频率)
- 虚拟串口仿真:Internal Exception: access violation in module ‘DSIM.DLL‘ [00002C82].
- 实验一 HTML编程基础和Javascript编程基础
- 【20】核心易中期刊推荐——计算机科学电子通信(EI索引)
- UML测试题(顺序图建模)
- K2K 亚太原创品牌崛起的故事,释放个性,诠释崭新生活态度