爬取得猫眼电影前top100排行榜

本文分享了使用Python和Anaconda环境下PyCharm编辑器进行猫眼电影网站爬虫的实践经验,介绍了如何抓取电影信息,包括电影名称、主演及上映时间,并解析了网页结构,展示了如何利用CSS选择器和正则表达式提取所需数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 声明

首先声明下这是我在csdn上发表的第一篇关于编程的文章,水平一般,技术含量也不高,所以想看骚操作的请尽快关闭,省得浪费宝贵的时间与生命。

  • 环境介绍
    这是一篇关于python爬虫文章,使用的是anaconda_python_3.7版本,编辑器为pycharm,浏览器为谷歌chrome,涉及到的第三方库不多,写过爬虫的应该都能看懂。

  • 查看page_source
    爬取top100的电影信息。首先用浏览器打开需要爬取数据的网页https://maoyan.com/board/4,观察页面,可以看见电影名,主演,上映时间在这里插入图片描述点击图片,跳转到一个新的界面,可以查看该电影的详细信息
    在这里插入图片描述
    这下清楚了网页的布置,接下来查看我们需要的信息被分别放置在了源码的哪些标签内,右键点击检查
    在这里插入图片描述 可以看霸王别姬的电影名,跳转链接被放置在了一个class为name的p标签内,主演信息放置在class为name的p标签内,上映时间放置在了class为releasetime标签内,三个标签均为兄弟标签。
    仔细观察这个href超链接属性有点奇怪,没有协议没有域名,点击再次跳转到霸王别姬的详情页面。这应该是html一种语法形式,会自动在前面添加主界面的url,组成一个可以跳转的url。是真的nice
    收缩标签可以看到关于霸王别姬的电影信息的所有标签都放置在了一个名为dd标签下,其他兄弟类dd标签也放置了其位置对应的电影信息在这里插入图片描述
    这就前10名电影信息的分布,但我们要爬取的是top100,点击第二页发现url发生了变化,末尾的0变成了10,第三页变成了20,那么我们可以通过修改末尾值的方法来完成网页跳转

  • 要睡觉了,我简单点写
    我的思路是通过css标签选择器,选取出我们需要的标签,再使用正则表达式提取关键信息,再使用迭代的方法获取存放电影信息的10个url,再保存再一个txt的文件内
    在这里插入图片描述
    最后将值迭代出来转换成整个的字符串使用with as方法写入文件中
    在这里插入图片描述

  • 特么
    果然这种东西只能找时间多得点写

好的,下面是一个简单的虫程序,可以爬取猫眼电影top100电影名称、主演、上映时间、评分等信息。 首先,在命令行中执行以下命令,创建一个新的Scrapy项目: ``` scrapy startproject maoyan_top100 ``` 然后,进入项目目录,并在命令行中执行以下命令,创建一个新的Spider: ``` cd maoyan_top100 scrapy genspider maoyan_spider maoyan.com ``` 现在,我们可以在`maoyan_top100/spiders/maoyan_spider.py`文件中编写我们的虫程序。以下是一个简单的程序,可以爬取猫眼电影top100电影名称、主演、上映时间、评分等信息: ```python import scrapy class MaoyanSpider(scrapy.Spider): name = 'maoyan_spider' allowed_domains = ['maoyan.com'] start_urls = ['https://maoyan.com/board/4'] def parse(self, response): movies = response.xpath('//dl[@class="board-wrapper"]/dd') for movie in movies: yield { 'title': movie.xpath('.//p[@class="name"]/a/text()').get(), 'star': movie.xpath('.//p[@class="star"]/text()').get(), 'release_date': movie.xpath('.//p[@class="releasetime"]/text()').get(), 'score': movie.xpath('.//p[@class="score"]/i/text()').get(), } next_page = response.xpath('//a[@class="next"]/@href') if next_page: yield response.follow(next_page.get(), self.parse) ``` 在这个程序中,我们首先定义了一个Spider类`MaoyanSpider`,继承自Scrapy的Spider类。然后,我们指定了Spider的名称、允许的域名和起始URL。在`parse`方法中,我们使用XPath选择器来定位电影信息,并将其保存到一个字典中。最后,我们使用`response.follow()`方法来跟踪下一页的链接,以便可以爬取整个top100。 现在,我们可以在命令行中执行以下命令,运行我们的虫程序: ``` scrapy crawl maoyan_spider -o maoyan_top100.csv ``` 这个命令将会运行我们的虫程序,并将结果保存到一个CSV文件中。您可以在`maoyan_top100.csv`文件中查看结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值