一、查看网页

爬取数据的网页:https://m.qidian.com/rank/yuepiao/male?gender=male&catId=-1&yearmonth=201910

进入到网页我们发现这是一个动态加载的网页,当我们拖动下拉的时候,会有新的数据加载出来,同时网页url地址没有发生变化,如果我们直接爬取的话,只能爬取出几十行数据。这时候就需要别的方式来实现爬取所有的需要我们下拉才能爬取到的数据。

首先打开网页,F12打开开发者模式,拖动网页的下拉框,我们就会发现他动态加载数据的规律

https://m.qidian.com/majax/rank/yuepiaolist?_csrfToken=vwHSDjqNkaUOCWnWhu2mvDKXM9u9ETr58fpq3V9J&gender=male&catId=-1&yearmonth=201910&pageNum=1该地址只是最后的pageNum在变化,我们可以自己传值进去,我们想要多少数据就有多少数据。

二、爬取并解析

利用request爬取html,发现它是由json编码的对象,所以我们用json.loads()来读取数据。

读取数据后提取我们需要的内容并存入文件就ok了。

三、源代码

import json
import requestsurl = 'https://m.qidian.com/majax/rank/yuepiaolist?_csrfToken=vwHSDjqNkaUOCWnWhu2mvDKXM9u9ETr58fpq3V9J&gender=male&catId=-1&yearmonth=201910&pageNum='def getHtmlData(url):responseHtml = requests.get(url)hjson = json.loads(responseHtml.text) #读取页面的json数据,读出来相当于一个dict字典。print(hjson)a = hjson['data']['records']final_data = []for b in a:bName = b['bName']  # 书名bAuth = b['bAuth']  # 作者desc = b['desc']  # 简介cat = b['cat']  # 类型cnt = b['cnt']  # 字数rankCnt = b['rankCnt']  # 月票数singele_data = [bName, bAuth, cat, cnt, rankCnt, desc]final_data.append(singele_data)#把json数据写入到excel中output = open('qidiantop100.xls', 'a', encoding='utf-8')  #打开该文件以追加的方式进行写入#output.write('书名\t作者\t类型\t字数\t月票数\t简介\n')for i in range(len(final_data)):for j in range(len(final_data[i])):output.write(str(final_data[i][j]))  # write函数不能写int类型的参数,所以使用str()转化output.write('\t')  # 相当于Tab一下,换一个单元格output.write('\n')  # 写完一行立马换行final_data.clear()output.close()def main(start, end):for i in range(start, end):if i == 1:output = open('qidiantop100.xls', 'a', encoding='utf-8')output.write('书名\t作者\t类型\t字数\t月票数\t简介\n')output.close()getHtmlData(url + str(1))#print(url + str(1))else:getHtmlData(url + str(i))#print(url + str(i))#time.sleep(2) #执行等待,防止短时间内多次访问被禁。if __name__ == '__main__':main(1, 6)print("爬取完成!")pass

爬取起点中文网站原创风云榜小说排行相关推荐

  1. python爬虫之爬取起点中文原创小说排行榜

    学习python有段时间了,最近做了一个网上爬虫工具爬取起点中文原创小说排行榜数据,作为最近学习python的一个阶段性成果. 工具 对于做网络爬虫工具经常用到的就是chrome浏览器,主要用于抓取网 ...

  2. scrapy爬取起点中文网24小时热销榜单

    系列文章目录 第一章 scrapy爬取起点中文网24小时热销榜单. 文章目录 系列文章目录 前言 一.项目需求 二.项目分析 三.程序编写 1.编写item(数据存储) 2.编写spider(数据抓取 ...

  3. scrapy爬取起点中文网24小时热销榜单(将数据存到数据库)

    系列文章目录 第一章:scrapy爬取起点中文网24小时热销榜单 第二章:scrapy爬取苏州二手房交易信息 第三章:scrapy爬取QQ音乐榜单歌曲及豆瓣电影信息 第四章:scrapy爬取起点中文网 ...

  4. 网络字体反爬之pyspider爬取起点中文小说

    这段时间正在看爬虫框架-pyspider,觉得这种网站用框架还是很方便的,所以今天就给大家带来这篇---起点中文网小说爬取.可视化我们放到下一集. 加vx:tanzhouyiwan或qq群813622 ...

  5. 一周搞定scrapy之第一天--爬取起点中文小说网

    快速安装scrapy pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy 安装完成之后在cmd里面输入scrapy 如果出现以 ...

  6. Python爬取起点中文网月票榜前500名网络小说介绍

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  7. python爬取网络小说_Python爬取起点中文网月票榜前500名网络小说介绍

    观察网页结构 进入起点原创风云榜:http://r.qidian.com/yuepiao?chn=-1 老套路,懂我的人都知道我要看看有多少内容和页数需要爬. https://ask.hellobi. ...

  8. 【爬虫实战】Python 爬取起点热榜,再也不怕没有小说看了!

    最近看完一部小说<大奉打更人>,看得我热血沸腾.但是看完后,有选择困难症的我又不知道可以看什么了. 于是,我打算开发一个爬虫,爬取起点热榜. 一.导入所需库 我们使用 requests 来 ...

  9. 新闻爬虫及爬取结果查询网站的搭建(一)

    新闻爬虫及爬取结果查询网站的搭建(一) 实验要求 核心需求 技术要求 爬虫准备工作 Node.js 安装配置 vscode Request Cheerio简介 数据库存储 实验要求 核心需求 1.选取 ...

最新文章

  1. ModuleNotFoundError: No module named ‘config‘
  2. 搭建认证服务器 - Spring Security Oauth2.0 集成 Jwt 之 【授权码认证流程】 总结
  3. python2异步编程_最新Python异步编程详解
  4. JDBC与JNDI应用比较
  5. 漫画:如何实现大整数相乘?(上)
  6. 一个小白的转行Python的经历!
  7. delphi连接sql server的字符串2011-10-11 16:07
  8. 第七篇 ScrollView控件
  9. Linux串口工具ckermit打印 android log
  10. 【FPGA】TestBench中关于@eachvec
  11. 使用Eclipse,Kemulator模拟器配置J2ME工程
  12. 创建数独小游戏uniapp/vue
  13. CWMP(TR069)协议标准学习
  14. L7805CV-ASEMI三端稳压管L7805CV
  15. 微信小程序笔记——滚动计数器
  16. 联想thinkPad中锁屏壁纸的本地位置(联想软件商店)
  17. 智能美容仪APP开发作用特点
  18. 计算机bios设置系统安装教程,z590主板装win7系统及bios设置教程(支持11代cpu驱动)...
  19. python自动化:uiautomation、pyautogui操作会计记账系统(6):打印会计凭证
  20. 图像自动裁剪和角度矫正

热门文章

  1. 【Python】批量移动同类型文件到其他文件夹的办公技巧
  2. 深入机器学习系列之自然语言处理
  3. 数据结构复习题(一)
  4. python 二维列表获取其中元素_Python中二维列表如何获取子区域元素的组成
  5. linux怎么添加拼音输入法,ubuntu如何安装中文输入法
  6. 深入解析String intern
  7. PHP正则匹配全中文
  8. 为什么香肠能激活手机屏幕,手套不能
  9. 【Bugzilla】我按照bugzilla的官方指导进行的安装。(一)
  10. Week8学习总结-数据库