爬取豆瓣的正在热映电影

  • 引言
  • 思路分析
  • 代码
  • 结果展示

引言

本篇文章较为基础,没有什么技术含量,主要是为了回顾一下如何用XPath提取HTML页面中的数据

思路分析

首先,进入豆瓣电影的主页,并且选择全部正在热映的电影,进入此页面

这就是我们要爬取页面的URL地址
https://movie.douban.com/cinema/nowplaying/weifang/
URL地址最后一部分是当前你所在的地区
地址请求时的套路就是常规的爬虫头部伪装,今天要看的关键是页面数据的提取,这里,我就用XPath来提取数据吧!不懂XPath语法的小伙伴请自行百度。

分析网页的布局,我们可以发现,每一个影片都位于一个li标签中,而所有的li标签都位于一个ul标签中,因此,我们只要找到每一个li标签,再进行相应的数据提取即可。具体的操作,直接看代码吧!

代码

# !/usr/bin/env python
# —*— coding: utf-8 —*—
# @Time:    2020/2/1 19:17
# @Author:  Martin
# @File:    douban.py
# @Software:PyCharm
import requests
from lxml import etree
import pandas as pd
"""
豆瓣电影(正在热映的电影)爬取
"""
url = 'https://movie.douban.com/cinema/nowplaying/weifang/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36','Referer': 'https://movie.douban.com/'}
response = requests.get(url, headers=headers)
text = response.text
html = etree.HTML(text)
ul = html.xpath("//ul[@class='lists']")[0]
lis = ul.xpath("./li")
movies = []
for li in lis:title = li.xpath("@data-title")[0]score = li.xpath("@data-score")[0]star = li.xpath("@data-star")[0]release = li.xpath("@data-release")[0]duration = li.xpath("@data-duration")[0]region = li.xpath("@data-region")[0]director = li.xpath("@data-director")[0]actors = li.xpath("@data-actors")[0]img = li.xpath(".//img/@src")[0]data = {'title': title,'score': score,'star': star,'release': release,'duration': duration,'region': region,'director': director,'actors': actors,'img': img}movies.append(data)
df = pd.DataFrame(movies)
df.to_csv("./result/douban.csv", index=False, encoding='utf_8_sig')

结果展示

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

  1. 补如何抓取豆瓣网正在热映电影信息以及海报

    废话不多说直接上代码 #!/usr/bin/env python ''' 这篇主要是获取豆瓣网正在热映电影网的电影全部信息 ''' import re import requests from req ...

  2. requests爬取豆瓣前250部高分电影

    这两天又写了一个爬取豆瓣前250部高分电影的爬虫,并把电影名字和图片保存到本地. 用的是requests和BeautifulSoup. @requires_authorization import r ...

  3. Python第一战:爬取豆瓣排名前250的电影

    一.需求分析   爬取豆瓣电影Top250的基本信息,包括电影的名称.豆瓣评分.评价数.电影概况.电影链接等.(https://movie.douban.com/top250) 二.爬虫的定义   网 ...

  4. 爬取豆瓣评分前50的电影信息

    文章目录 项目描述 内容模块 代码区 运行测试 项目描述 根据豆瓣评分排名,获取豆瓣评分前50的电影信息.主要包括:电影名称.电影评分.评价人数和电影短评信息,并存储到本地表格文件. 内容模块 使用r ...

  5. python爬取豆瓣排名前250部电影封面

    话不多说,先给出网页地址豆瓣电影 Top 250,进入后我们按F12打开开发者工具查看网页信息,然后随便右键点击一张电影封面查看元素如图: 容易看出我们所需要的封面地址在img这个标签下的src属性当 ...

  6. 爬取豆瓣网前一百名电影

    网站爬取的流程图: 实现项目我们需要运用以下几个知识点 一.获取网页 1.找网页规律: 2.使用 for 循环语句获得网站前4页的网页链接: 3.使用 Network 选项卡查找Headers信息: ...

  7. 利用Scrapy爬取豆瓣排名前250部电影封面

    一.爬虫代码 项目目录结构: item.py文件 # -*- coding: utf-8 -*- import scrapyclass DoubanmovieItem(scrapy.Item):# t ...

  8. Requests:爬取豆瓣排名前250的电影名称

    import requests from bs4 import BeautifulSoup import pandas as pd # 读取豆瓣TOP250的电影名 def get_movies(): ...

  9. python爬取豆瓣网即将上映的电影,数据信息存储到json文件

    1,import库的安装,在我其它博文中有:获取豆瓣网即将上映的网页信息即HTML页面. 2,解析获取到的网页的数据信息 3将获取到的数据信息,放到json文件 4,主程序

最新文章

  1. 【MATLAB】数组运算
  2. caffe windows 学习第一步:编译和安装(vs2012+win 64)
  3. FreeMarker插件的安装
  4. python复数的实部和虚部都是整数嘛_Python学习笔记:从入门到放弃(2)基本语法...
  5. Visual C++ 2011-5-18
  6. 机器人学基础——运动学研究的问题及DH建系
  7. MarkDown基础语法笔记
  8. 服务器系统补丁失败,Windows Server 2016安装累积更新补丁失败
  9. Cube(给出八个点,判断这八个点是否可以构成一个正方体)
  10. Kismet:一款超强的无线嗅探器
  11. Nginx之正则表达式、location匹配简介以及rewrite重写
  12. linux 开机运行命令
  13. Bot Chat(聊天机器人) HeroCard的简单用法
  14. EtherCAT从站 SII结构说明
  15. 脸上不同位置长痘痘的原因,华仁堂贾主任祛痘为你提示
  16. 《肥鸟笔记--基础数据结构》一、栈
  17. 影目科技获千万美元融资背后,挚文集团“落子”元宇宙
  18. 算法——股票买卖问题
  19. Flink教程(28)- Flink性能优化
  20. c语言求一元二次方程的根

热门文章

  1. Unreal引擎性能分析及优化
  2. 2018国庆第四场个人赛
  3. jsb调用java_cocos2d-js | JSB 调用Java函数 | Android设备ID
  4. 给第一行单元格赋值 + WPS JS获取工作表的总行数 + WPS JS获取工作表的总行数
  5. Vue项目中$t()的意思
  6. 这份【互联网项目全流程表】,实在是泰裤辣!!!
  7. Sitecore 8 基础I - 获取Sitecore license并安装Sitecore
  8. nginx反向代理Https、代理解决跨域问题
  9. 设置Web浏览器的HTTP或HTTPS代理(设置网页IP代理)
  10. 项目管理中,如何实现有效的项目预算管理?