前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫实例五:爬取小说排行榜并把数据导入excel文件中

爬虫实例五:爬取小说排行榜并把数据导入excel文件中

原创
作者头像
远方的星
修改2021-03-01 14:26:12
1.6K1
修改2021-03-01 14:26:12
举报

一、前言

小说这么多,找起来也是一种苦恼呢!根据网站自带的筛选,只能通过一个方面筛选,如类型、更新时间等等。那我想多角度筛选一篇文章怎么办?看了这篇文章,你的苦恼便会烟消云散!

二、网站爬取分析

既然是要爬取排行榜,进行数据筛选,肯定少不了多页爬取。那我们就先来看看,每一页的URL有什么变化,有时候规律可循。

通过比较,我们可以很快发现规律,之后在这个地方使用“1和2所在的位置”循环即可。

代码语言:python
复制
    for i in range(1, 5):  # 根据想要爬的页数而改动
        url = 'https://www.52bqg.net/top/allvisit/{}.html'.format(i+1)

然后就是对一个页面进行检查分析啦。

规律也是很明显的,一个li节点对应一篇小说的目录内容,使用bs4,很容易就能对内容进行提取。

提取内容之后,就是对内容的保存,利用xlwt模块,把内容导入到excel中。

三、完整代码

代码语言:python
复制
list_all = list()
path = 'D:/笔趣阁目录.xls'
workbook = xlwt.Workbook(encoding='utf-8', style_compression=0)
worksheet = workbook.add_sheet('小说目录', cell_overwrite_ok=True)  # 可覆盖  # 设置工作表名
col = ('小说类型', '小说名', '最新章节', '作者', '最新更新时间')
for i in range(0, 5):
   worksheet.write(0, i, col[i])  # 设置列名
for i in range(1, 5):  # 根据想要爬的页数而改动,这里爬的是第一页到第四页
   url = 'https://www.52bqg.net/top/allvisit/{}.html'.format(i)
   data_list = get_content(url)
   list_all.append([data_list])
for i in range(len(list_all)):  # i=0~1
   sleep(0.5)  # 延迟0.5秒)
   print('正在下载第{}页目录=====>  请稍后'.format(i+1))
   data_s = list_all[i]
   for j in range(len(data_s)):  # j=0
       data = data_s[j]
       for k in range(len(data)):  # k=0~49
           data_simple = data[k]
           for m in range(0, 5):  # m=0~4
               worksheet.write(1 + i * 50 + k, m, data_simple[m])
workbook.save(path)

四、运行结果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、网站爬取分析
  • 三、完整代码
  • 四、运行结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com