python豆瓣top250

    接触python一个月吧,平时在学校,课也比较多,学python的初衷就是觉得爬虫真的很有趣,也很有成就感。昨天刚刚完成了豆瓣电影top250的爬取,就突然想写篇博客,顺便梳理一下自己的思路。

    1.写在前面

        环境的搭建实在没什么好说的,本次爬取使用用的方法requests完成请求,正则表达式用于整理数据,字符串、列表、字典的操作,文件的基本操作。程序中定义了很多的函数,但是写完之后发现虽然更加方便阅读和修正,但也是代码看起来没那么好看了,因为没有在开始写程序的时候就截图,所以下面的代码是在写这篇博客的时候在新文件中进行的,源代码会在最后附上。

        ps:不知道为什么插入源代码会出现乱码,只能放截图了....

    2.正式开始

            2.1  分析首页结构

        

            由网页结构看出,所有的电影信息都保存在<li></li>标签中,所以第一步,请求这个网页,用正则表达式定位出li标签的信息,这里选择从<div>到</li>,因为在电影信息的上面还有一个<li>标签,为了方便提取就从<div>开始了,先将提取到的html进行初步的整理,代码和结果如下:

            


            到此,首页的信息已全部整合到一个filtration_li_html的列表中,列表的每一个元素为一部电影的信息

            2.2  对需要的电影信息进行提取
                由提取到的电影信息可知,需要的有电影名、别名、导演、主演、上映年份、国家、类别、评分、简介
                开始提取需要信息时,写了一个很长的正则表达式,但是对正则表达式的了解还不是很彻底,提取信息时会有不符合的结果出现,所以在程序中对需要信息的提取写了很多个正则表达式,以达到需要的结果,并将信息以字符串的形式从函数中返回。
            2.3  将提取到的信息存入字典
                  所有的需要信息的提取已全部由各个函数完成,并且是以字符串的形式返回,在这一步新建字典,将获取到的信息写入,value值为各个函数返回的值,key为自定义的信息类别
            2.4  将字典中的信息写入文件
                   直接将字典写入文件,看起来并不是很好,也不利于其他格式信息的存储,因此在写入文件时将信息进行格式化
            2.5  爬取所有页面的信息
                    在第一页,只显示了25条信息,后续的信息在另外的url中,豆瓣的信息是需要在url中加入偏移量来组成新的url
                    第一页的url(需先点第一页之后的页面,再点击第一页方可显示)

                    第二页的url

                    第二页相比第一页,传入了start=25
   
                2.7  成果

        3. 源代码




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值