电影信息爬取

1.抓包分析

网址:电影票房

1.1 网页分析

在爬取网页内容之前,第一件事就是分析它的网页数据的加载方式,再决定我请求服务器的方式。
我们点击第二页时发现网页的URL没有发生改变,可以初步判断它是ajax加载的数据,所以我们可以通过抓包的方式来获取内容。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

1.2如何进行抓包

如何进行抓包在我的另一篇博客里面有说到:python爬取美团评论
在这里插入图片描述
选择了第1、2、3和最后一页的链接进行了比较,它们的参数有两处不同,但时间戳那里不是该链接的关键信息,并不能影响到链接,所以不用管它,仅需关注page=那里即刻,间隔为1。

2.电影信息爬取

这里爬取的是2020年的

2.1爬取第一页

2.1.1请求网页

在这里插入图片描述
返回200才是请求成功。

# 请求网页
import requests
ajax_url="http://movie.mtime.com/boxoffice/?year=2020&area=china&type=MovieRankingYear&category=all&page=0&display=list&timestamp=1587194660511&version=07bb781100018dd58eafc3b35d42686804c6df8d&dataType=json"
#字典型,代理
headers={
   
   "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"
}
response=requests.get(url=ajax_url,headers=headers)
print(response)
<Response [521]>

结果我们发现没有请求成功,该网页有反爬虫机制,因此要用到它的Cookie值。
重新请求网页:
Cookie值的查找:
在这里插入图片描述

# 请求网页
import requests
ajax_url="http://movie.mtime.com/boxoffice/?year=2020&area=china&type=MovieRankingYear&category=all&page=0&display=list&timestamp=1587194660511&version=07bb781100018dd58eafc3b35d42686804c6df8d&dataType=json"
#字典型,代理
headers={
   
  "Cookie": "_userCode_=202041883428296; _userIdentity_=202041883428359; userId=0; defaultCity=%25E5%25B9%25BF%25E4%25B8%259C%257C364; DefaultCity-CookieKey=364; DefaultDistrict-CookieKey=0; _tt_=B74386D6D79B43F16B312C45BE7A7DB0; __utma=221034756.1561762253.1587170071.1587170071.1587170071.1; __utmc=221034756; __utmz=221034756.1587170071.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); Hm_lvt_6dd1e3b818c756974fb222f0eae5512e=1587171337; Hm_lpvt_6dd1e3b818c756974fb222f0eae5512e=1587172633; _ydclearance=09eee44c9074eb37d3084533-c8e1-45e0-9eda-fcc89987393c-1587200396",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"
}
response=requests.get(url=ajax_url,headers=headers)
print(response)
<Response [200]>

返回200,请求网页成功。

2.1.2获取text内容:

print(response.text)

结果为:
在这里插入图片描述
我仅需要获取其中的一些信息,把所得结果复制到json解析去解析,我们只要html标签中的内容。
在这里插入图片描述

2.1.3获取json内容:

response.json()["html"]

结果:
在这里插入图片描述

2.1.4xpath提取内容

我们使用xpath时,也必须先对网页进行 lxml 库中的 etree解析 ,把它变为特有的树状形式,才能通过它进行节点定位。

#解析网页
from lxml import  etree
html_etree=etree.HTML(response.json()["html"])
#看成一个筛子,树状

1.提取电影名称:

 html_etree.xpath('/html/body/div[3]/div[2]/div[1]/div[2]/div/dd[1]/div/div[2]/h3/a/text()')

结果:

[]

然后我们发现没有提取到信息,所以直接法制其xpath 的方法不可取,因此我们需要自己构造它的xpath
在这里插入图片描述
在这里插入图片描述
重新构造的原因是如果从html开始定位会出现模糊定位,无法定位到我们想要的地方。
然后我们重新来提取信息:

html_etree.xpath('//div[@class="boxofficelist"]/div/dd[1]/div/div[2]/h3/a/text()')
['宠爱']

这里就提取成功了。
2.提取电影排名
同样的这里也需要构造它的xpath,与上面的构造方法一样,我们只要找到排名对应的标签即刻。
提取信息:

 html_etree.xpath('//div[@class="boxofficelist"]/div/dd[1]/div/div[1]/i/text()')

结果:

['01']

同等方法获取其他单个电影信息。
3.获取本页所有电影名称,这里写一个for循环来实现

li=html_etree.xpath('//div[@class="boxofficelist"]/div/dd')
for item in li:
        name=item.xpath('./div/div[2]/h3/a/text()')
        print(name)
    

结果:

['宠爱']
['叶问4:完结篇']
['误杀']
['变身特工']
['我为你牺牲']
['美丽人生']
['天使陷落']
['紫罗兰永恒花园外传:永远与自动手记人偶']
['鲨海逃生']
['半个喜剧']

4.获取本页所有排名和电影名称

li=html_etree.xpath('//div[@class="boxofficelist"]/div/dd')
for item in li:
        name=item.xpath('./div/div[2]/h3/a/text()')
        rank=item.xpath('./div/div[1]/i/text()')
        print(rank,name)
    

结果:

['01'] ['宠爱']
['02'] ['叶问4:完结篇']
['03'] ['误杀']
['04'] ['变身特工']
['05'
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着互联网和智能手机的快速发展,人们生活中各种信息都可以通过网络进行获取,影视作品也不例外。然而,不同的影片源和电视平台都对在线信息的显示和呈现方式进行了个性化的处理,给影迷的选择和了解带来了一定的困难。因此,基于Python电影信息爬取技术和数据可视化分析技术,成为了影迷和相关从业人员进行研究的重要手段。 Python是一种广泛应用于计算机编程和数据分析的编程语言,在很多大型公司和学术机构中都得到了广泛认可和使用。通过Python编程语言,程序员可以比较方便地进行网络爬虫开发,即模拟人类浏览器的行为访问目标网站并提取网页上的信息。通过Python编程,我们可以自动按照一定规则定时地访问影视信息站点,获取相关影视的信息数据,如电影名称、导演、主演、上映年份、票房收入等。 通过获取的数据,我们可以对数据进行分析与可视化。首先,我们可以对所抓取的电影数据进行数据分析处理,得出各类电影的总量、上映时间段、票房等数据。其次,我们可以采用Python编程的一些图表生成库,对数据进行可视化处理,如使用Matplotlib生成折线图、散点图、分布图、直方图等,便于研究人员直观地看到影片的发展趋势。最后,我们可以利用Python的图形界面工具实现数据可视化的交互界面,制作出友好易用、具有交互性的数据分析平台,让用户可以方便、快捷地查看和查询其关心的电影信息。 综上所述,基于Python电影信息爬取与数据可视化分析技术,可以为电影从业人员、影视爱好者等提供更方便、更快捷、更可靠的电影信息获取和分析工具。通过不断地研究、探索和创新,Python编程技术将继续为我们的生活和工作带来更多便利和惊喜。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值