python静态页面爬取:豆瓣爬取近六年出版评分在7分以上的漫画

前言

在实现一个例子之前,首先要明确自己想要获得怎样的结果:爬取近六年出版评分在7分以上的漫画

最后我想要得到的信息是所有满足要求的书名

要求有二:1、近六年出版,即出版时间 >= 2013年 2、评分在7分以上

接下来针对我们的要求,去观察页面元素

我们观察一下页面(https://book.douban.com/tag/%E6%BC%AB%E7%94%BB?start=0&type=T),找到这两点信息的位置(图中黄色底部分信息)

在检查元素里找到这两点信息的位置:年份信息包含在一个class为"pub"的标签中

评分信息包含在class为star clearfix的div标签的子标签span:class为rating_nums的信息中

注意:因为在后面爬虫的时候发现中间有些页面因为没有评分而没有class为rating_nums的标签,因此在爬取评分信息的时候

我们要先找到star clearfix 的这个div标签,再对具体情况进行处理


正在上传...取消

书名:在包含title元素的a标签中

结束上述准备以后,明确我们要提取的信息

1、书名:在包含title元素的a标签中

2、出版年份:在class为'pub'的div信息中

3、评分:在class为star clearfix的div标签的子标签span:class为rating_nums的信息中

本例中使用的网页解析工具是BeautifulSoup,比较好上手,合适网路爬虫初学者的一个可以代替正则表达式的网页解析工具

首先要安装,可以直接使用pip进行安装

安装代码:pip install bs4

安装成功后就可以直接在python环境下使用这个包里的内容了

接下来就可以开始去构造爬虫

结束上述准备以后,明确我们要提取的信息

1、书名:在包含title元素的a标签中

2、出版年份:在class为'pub'的div信息中

3、评分:在class为star clearfix的div标签的子标签span:class为rating_nums的信息中

本例中使用的网页解析工具是BeautifulSoup,比较好上手,合适网路爬虫初学者的一个可以代替正则表达式的网页解析工具

首先要安装,可以直接使用pip进行安装

安装代码:pip install bs4

安装成功后就可以直接在python环境下使用这个包里的内容了

接下来就可以开始去构造爬虫

import内容如下

初始化访问urllist列表

构造爬虫信息筛选函数,返回每一页符合条件的书名列表(详细解释见备注)

函数的调用与结果输出:


实际在用的时候可以把结果列表转为csv存到数据中,不过目前我还不会这个……以后看看能不能导出来

最后贴一个爬下来的数据截图!

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/89451685