爬取豆瓣正在上映的电影

1.目标

​ 爬取豆瓣上显示正在上映的电影的信息,包括电影名、评分、导演、主演等信息。将其保存在一个CSV文件中,可以使用Excel打开查看。

2.思路分析

1.获取网页的URL
2.请求网页的源代码
3.解析源代码,提取目标信息
4.保存信息

3.准备工作

1.请求网页源代码使用webdriver.Chrome()
2.解析网页使用xpath

4.实施阶段

1.获取URL

https://movie.douban.com/cinema/nowplaying/xian/

2.请求网页的源代码
 driver = webdriver.Chrome()driver.get(r'https://movie.douban.com/cinema/nowplaying/xian/')html=driver.page_sourcedriver.close()
3.分析网页源代码

​ 使用Chrome查看玩野源代码,可以发现正在上映的电影都在该标签之下

而且,每一部电影都在一个li标签中,而我们需要的信息就包含在其中,我们只需要获取到,并且将之提取出来即可。

4.提取目标信息
html = etree.HTML(html)
title = html.xpath('//*[@id="nowplaying"]//li/ul/li[2]/a/@title')
actor = html.xpath('//*[@id="nowplaying"]//li/@data-actors')
score = html.xpath('//*[@id="nowplaying"]//li/@data-score')
duration = html.xpath('//*[@id="nowplaying"]//li/@data-duration')
director = html.xpath('//*[@id="nowplaying"]//li/@data-director')
5.保存信息

​ 使用pandas创建DataFrame,并且将数据存储为.csv 文件

df=pd.DataFrame(data=data,columns=['电影','评分','导演','主演','时长'])
df.to_csv('豆瓣最近上映.csv',encoding='gb18030')

为了能使用Excel查看保存的文件,保存文件是使用的编码的方式是gb18030

5.程序源代码

# -*- coding: utf-8 -*-
from selenium import webdriver
from lxml import etree
import pandas as pd
def get():driver = webdriver.Chrome()driver.get(r'https://movie.douban.com/cinema/nowplaying/xian/')html=driver.page_sourcedriver.close()#整理文档对象html = etree.HTML(html)title = html.xpath('//*[@id="nowplaying"]//li/ul/li[2]/a/@title')actor = html.xpath('//*[@id="nowplaying"]//li/@data-actors')score = html.xpath('//*[@id="nowplaying"]//li/@data-score')duration = html.xpath('//*[@id="nowplaying"]//li/@data-duration')director = html.xpath('//*[@id="nowplaying"]//li/@data-director')data=list(zip(title,score,director,actor,duration))return data
def saving(data):df=pd.DataFrame(data=data,columns=['电影','评分','导演','主演','时长'])df.to_csv('豆瓣最近上映.csv',encoding='gb18030')
def main():data=get()saving(data)
if __name__ == '__main__':main()

6.结果显示

7.评价

​ 1.可以发现爬取到的信息有部分是缺失的或者是异常的,例如在评分一列,值为0的数据是该电影暂未评分,我们同样可以使用pandas进行简单的数据清洗。

  1. 保存的CSV文件会自己添加索引号,如果不想要,在保存文件的时候可以自己设置。

爬取豆瓣正在上映的电影相关推荐

  1. Python爬取豆瓣正在上映的电影

    Python爬取豆瓣正在上映的电影 #爬取豆瓣正在上映的电影 import requests from lxml import etree #1.将目标从网站上的页面抓取下来 headers = {' ...

  2. 利用python 爬取豆瓣即将上映的电影

    仅学习交流 Upcoming.py import re import requests from doubanapi import findmovie from bs4 import Beautifu ...

  3. python实践 爬取豆瓣各个标签的电影 爬虫

    python实践 爬取豆瓣各个标签的电影 实践题目 爬取豆瓣电影中,华语.欧美.韩国.日本电影每个标签下按评价排序的全部电影,需要如下信息: (1)每个电影的电影名.导演.编剧.主演.类型.国家.上映 ...

  4. python scrapy爬取豆瓣即将上映电影用邮件定时推送给自己

    本文不是python.scrapy的教程,而是分享一个好玩的点子. python教程请看python教程,scrapy教程请看scrapy教程 爬取豆瓣高分电影教程参考python爬虫入门笔记:用sc ...

  5. 【爬取豆瓣前 250 部电影】Python 爬虫和数据可视化(上篇)

    文章目录 一.学习内容 二.任务介绍 三.爬虫知识 四.基本流程 五.准备工作 5.1 获取数据 5.2 解析数据 5.3 保存数据 一.学习内容 Python 语言的基础知识 网络爬虫的技术实现 数 ...

  6. 爬虫-基于requests模块xpath解析爬取豆瓣即将上映电影目录

    首先,我们要确定要爬取的对象,然后确定我们需要的数据,要有针对性的去分析,打开豆瓣网查看 在这里我们可以看到即将上映的电影不多呀,先试试这个吧- 右键检查,打开开发者模式 此时点击NETWORK选项是 ...

  7. 使用requests与lxml爬取豆瓣正在上映电影

    利用requests库与lxml解析,获取豆瓣电影展示的所有正在上映的电影.没有进行进一步详情查看.因此比较简单. 所有单个正在上映电影信息以字典存储,并整合在一张列表里.整理后格式如下: [ {'t ...

  8. 爬取豆瓣正在上映的影片信息

    import requests from lxml import etree# 将目标网站上的页面抓取下来 # headers -> url -> requests -> respo ...

  9. [爬虫] 爬取豆瓣电影排行榜

    申明:本文对爬取的数据仅做学习使用,不涉及任何商业活动,侵删 爬取豆瓣电影排行榜 这是一个Scrapy框架入门级的项目, 它可以帮助我们基本了解Scrapy的操作流程和运行原理 这次我们要做例子的网站 ...

最新文章

  1. [nRF51822] 8、基础实验代码解析大全 · 实验11 - PPI
  2. NAND FLASH
  3. 肖仰华:知识图谱落地,不止于“实现”
  4. 应力循环次数60ant_中国航发:金属粉末循环使用导致的成分及打印件性能变化...
  5. iOS 多线程基础之 NSThread
  6. ICCV 2017 PTAV:《Parallel Tracking and Verifying:A Framework for Real-Time and High Accuracy ...》论文笔记
  7. pandas(二) -- Dataframe创建及索引
  8. EL表达式 jsp2.0 jsp1.2 与 tomcat
  9. q7goodies事例_Java 8 Friday Goodies:新的新I / O API
  10. 模块 python_Python入门基础:模块基础
  11. java resttemplate_java-通过resttemplate通过Spring Rest服务发送文...
  12. vue使用命令行构建完项目后_vue-cli起项目步骤(示例代码)
  13. 有关python_30个有关Python的小技巧
  14. Android实现 Eq的频响曲线,可以调节峰值,高低通。曲线为算法实现。
  15. 自主导航:赋予移动机器人智能感知与运动的能力
  16. 私有云和服务器虚拟化的区别,私有云和服务器有什么区别
  17. 认识java安全管理器SecurityManager
  18. Telegram皮肤
  19. 自主研发编程语言Mulan(木兰)评测(附视频讲解)
  20. UI(六) - 如何架构UI框架

热门文章

  1. centos7 配置ssh
  2. 划重点|BSCI验厂现场审核需要注意哪些重要问题呢?
  3. 初露锋芒 MeeGo系统进入智能电视发展领域
  4. Java图片添加水印功能
  5. 操作系统课程设计pintos project1实验摘记
  6. 自适应网站和响应式网站
  7. Python学习笔记(十九)——Matplotlib入门
  8. 【电子邮件提醒】用python写个能发邮件的脚本
  9. 羊皮卷的故事-第十二章-羊皮卷之五
  10. 一篇文章轻松学会python装饰器