教你用Python爬猫眼电影,简单网站却有 “多重思路” !
作者:互联网
猫眼电影作为爬虫的必备练手网站,相信每个人都试过吧? 那么这篇文章,我就再爬一次猫眼电影,而且用上正则和xpath一起,分别保存为excel表格和csv表格,(text文本这个就太简单了,自动忽略), 所以这篇文章,虽然网站熟悉,但是内容上的干货确实不少。希望大家能学到一点东西!
爬虫思路:
-
本次爬取网站为: https://maoyan.com/board/4?offset=0
-
本次爬虫函数库:
这些函数库没有的话 就自己下载一下, 下载慢出现timeout的话,需要搭配一下国内镜像网站。 百度一下 清华镜像
-
本次爬虫代码思路: 面向过程的简单操作
-
本次爬虫主要侧重于解析页面和保存数据二大模块,有需求可以直接跳转阅读。
分析页面:
拿到这个网站的第一步,就是分析页面, 切不可着急,直接套用代码而上!
-
查看网页源代码之后, 你可以找到页面中对应的数据, 如图:
这说明这个网站就是很中规中矩的静态网站了, 你想怎么耍就可以怎么耍。
-
因为是要爬取T100或者更多, 观察每一页的网址特点,我们发现:
每一页都是offset的不同变化,那我们字符串的构造就可以完成这个任务,得到任意页的网址。
-
当我们拿到每一页的网址,只需要向服务器发送请求,得到返回后的html页面,然后就可以进行不同的解析工作了, 在解析中,我们可以提取我们要的数据,将这些数据进行二次加工, 在返回, 那么就可以进入到我们保存数据的过程了, 在保存数据的时候,我们可以采用不同的方式进行保存,在这边文章中,我使用了excel和 csv 二种方式去保存,这样可以增加自己的代码练手率, 方便自己熟悉各种方式的保存。
构造页面参数:
就直接这样用字符串构造一下就行了,很简单。
请求网址:
带上一些必要的信息, 就可以伪装一下,发送请求,返回页面源代码。
解析网址:
使用xpath解析网址:
我们可以通过浏览器发现, 每个电影都在在标签dd中, 但是我们还是要根据dl标签来遍历下面的dd标签,方便得到如下数据! 最后使用枚举 enumerate() 去返回一个参数字典。 代码如下:
使用正则去匹配信息:
正则这个东西,在爬虫中真不到万不得已的时候才使用, 个人感觉,在这个网址,我们练练手, 打开网页源代码。如下:
我们要的数据都在每一个dd标签中, 所以我们需要编写正则表达式, 这里我编写了二种表达式,都可以实现。 关于不会正则的朋友,希望自己去学一下。
二种都差不多, 有点细微差别。
代码如下:
保存数据:
数据的保存,至关重要。
保存为excel:
能直接操作excel 表格的库确实有很多,但是我喜欢用openpyxl, 我觉得这个最好耍, 简单的一些配置,就能直接上手。 代码如下:
因为之前我传过来的数据是字典类型的, 但考虑到openpyxl能直接操作的是列表类型,所以有如下修改:
保存为csv:
直接操作csv的函数库 我觉得只有csv库最香了。
因为字典类型, 我们需要设置表头, 但是设置表头需要注意不要多次设置, 可能表中存在多个表头,应该这样:
全部代码:
标签:csv,Python,教你用,爬虫,保存,网址,猫眼,数据,页面 来源: https://www.cnblogs.com/heiyu123/p/14100907.html