返回顶部
首页 > 资讯 > 后端开发 > Python >Python scrapy爬取起点中文网小说榜单
  • 704
分享到

Python scrapy爬取起点中文网小说榜单

Pythonscrapy爬取小说榜单python爬虫 2022-06-02 22:06:50 704人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

一、项目需求 爬取排行榜小说的作者,书名,分类以及完结或连载 二、项目分析 目标url:“https://www.qidian.com/rank/hotsales?style=1&page=1” 通

一、项目需求

爬取排行榜小说的作者,书名,分类以及完结或连载

二、项目分析

目标url:“https://www.qidian.com/rank/hotsales?style=1&page=1”

在这里插入图片描述

通过控制台搜索发现相应信息均存在于html静态网页中,所以此次爬虫难度较低。

在这里插入图片描述

通过控制台观察发现,需要的内容都在一个个li列表中,每一个列表代表一本书的内容。

在这里插入图片描述

在li中找到所需的内容

在这里插入图片描述

找到第两页的url
Https://www.qidian.com/rank/hotsales?style=1&page=1”
“https://www.qidian.com/rank/hotsales?style=1&page=2”
对比找到页数变化
开始编写scrapy程序。

三、程序编写

创建项目太简单,不说了

编写item(数据存储)


import scrapy

class QidianHotItem(scrapy.Item):
    name = scrapy.Field() #名称
    author = scrapy.Field() #作者
    type = scrapy.Field() #类型
    fORM= scrapy.Field() #是否完载

编写spider(数据抓取(核心代码))


#coding:utf-8

from scrapy import Request
from scrapy.spiders import Spider
from ..items import QidianHotItem
#导入下需要的库

class HotSalesSpider(Spider):#设置spider的类
    name = "hot" #爬虫的名称
    qidian_header={"user-agent":"Mozilla/5.0 (X11; linux x86_64) AppleWEBKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"} #设置header
    current_page = 1 #爬虫起始页
    def start_requests(self): #重写第一次请求
        url="https://www.qidian.com/rank/hotsales?style=1&page=1"
        yield Request(url,headers=self.qidian_header,callback=self.hot_parse)
		#Request发起链接请求
		#url:目标url
		#header:设置头部(模拟浏览器)
		#callback:设置页面抓起方式(空默认为parse)
    def hot_parse(self, response):#数据解析
        #xpath定位
        list_selector=response.xpath("//div[@class='book-mid-info']")
        #获取所有小说
        for one_selector in list_selector:
            #获取小说信息
            name=one_selector.xpath("h4/a/text()").extract()[0]
            #获取作者
            author=one_selector.xpath("p[1]/a[1]/text()").extract()[0]
            #获取类型
            type=one_selector.xpath("p[1]/a[2]/text()").extract()[0]
            # 获取形式
            form=one_selector.xpath("p[1]/span/text()").extract()[0]

            item = QidianHotItem()
            #生产存储器,进行信息存储
            item['name'] = name
            item['author'] = author
            item['type'] = type
            item['form'] = form

            yield item #送出信息

            # 获取下一页URL,并生成一个request请求
            self.current_page += 1
            if self.current_page <= 10:#爬取前10页
                next_url = "https://www.qidian.com/rank/hotsales?style=1&page="+str(self.current_page)
                yield Request(url=next_url,headers=self.qidian_header,callback=self.hot_parse)


    def CSS_parse(self,response):
        #css定位
        list_selector = response.css("[class='book-mid-info']")
        for one_selector in list_selector:
            # 获取小说信息
            name = one_selector.css("h4>a::text").extract()[0]
            # 获取作者
            author = one_selector.css(".author a::text").extract()[0]
            # 获取类型
            type = one_selector.css(".author a::text").extract()[1]
            # 获取形式
            form = one_selector.css(".author span::text").extract()[0]
            # 定义字典

            item=QidianHotItem()
            item['name']=name
            item['author'] = author
            item['type'] = type
            item['form'] = form
            yield  item

start.py(代替命令行)

在爬虫项目文件夹下创建start.py。

在这里插入图片描述


from scrapy import cmdline
#导入cmd命令窗口
cmdline.execute("scrapy crawl hot -o hot.csv" .split())
#运行爬虫并生产csv文件

出现类似的过程代表爬取成功。

在这里插入图片描述

hot.csv

在这里插入图片描述

总结

本次爬虫内容还是十分简单的因为只用了spider和item,这几乎是所有scrapy都必须调用的文件,后期还会有middlewarse.py,pipelines.py,setting.py需要编写和配置,以及从javascriptJSON中提取数据,难度较大。

到此这篇关于python scrapy爬取起点中文网小说榜单的文章就介绍到这了,更多相关Python爬取起点中文网内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python scrapy爬取起点中文网小说榜单

本文链接: https://lsjlt.com/news/10922.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python scrapy爬取起点中文网小说榜单
    一、项目需求 爬取排行榜小说的作者,书名,分类以及完结或连载 二、项目分析 目标url:“https://www.qidian.com/rank/hotsales?style=1&page=1” 通...
    99+
    2022-06-02
    Python scrapy爬取小说榜单 python爬虫
  • Python的scrapy之爬取6毛小说
    闲来无事想看个小说,打算下载到电脑上看,找了半天,没找到可以下载的网站,于是就想自己爬取一下小说内容并保存到本地 圣墟 第一章 沙漠中的彼岸花 - 辰东 - 6毛小说网  http://www.6mao.com/html/40/40184...
    99+
    2023-01-30
    小说 Python scrapy
  • python使用XPath解析数据爬取起点小说网数据
    目录1. xpath 的介绍优点:安装lxml库XML的树形结构:选取节点的表达式举例:2. 爬取起点小说网在浏览器中获取书名和作者测试使用xpath获取起点小说网的数据1. xpa...
    99+
    2024-04-02
  • python起点网月票榜字体反爬案例
    目录前言:1.解析过程2.开始敲代码前言: 字体反爬是什么个意思?就是网站把自己的重要数据不直接的在源代码中呈现出来,而是通过相应字体的编码,与一个字体文件(一般后缀为ttf或wof...
    99+
    2024-04-02
  • python如何使用XPath解析数据爬取起点小说网数据
    小编给大家分享一下python如何使用XPath解析数据爬取起点小说网数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的数据类型有哪些python的...
    99+
    2023-06-14
  • python 爬取全本免费小说网的小说
      这几天朋友说想看电子书,但是只能在网上看,不能下载到本地后看,问我有啥办法?我找了好几个小说网址看了下,你只能直接在网上看,要下载txt要冲钱买会员,而且还不能在浏览器上直接复制粘贴。之后我就想到python的爬虫不就可以爬取后下载吗...
    99+
    2023-01-30
    小说网 全本 小说
  • python 爬取国内小说网站
    目录原理先行实践篇完整代码原理先行 作为一个资深的小说爱好者,国内很多小说网站如出一辙,什么 🖊*阁啊等等,大都是 get 请求返回 html 内容,而且会有标志性的<dl><dd...
    99+
    2022-06-02
    python 爬取小说 python 爬取国内网站
  • Python爬虫教程使用Scrapy框架爬取小说代码示例
    目录Scrapy框架简单介绍创建Scrapy项目创建Spider爬虫Spider爬虫提取数据items.py代码定义字段fiction.py代码提取数据pipelines.py代码保...
    99+
    2024-04-02
  • 如何使用Python网络爬虫实现起点小说下载
    如何使用Python网络爬虫实现起点小说下载,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天要跟大家分享一个小说爬取案例--------起点小说的小说下载。在做这个案例之...
    99+
    2023-06-15
  • python起点网月票榜字体反爬的方法是什么
    本篇内容主要讲解“python起点网月票榜字体反爬的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python起点网月票榜字体反爬的方法是什么”吧!1.解析过程老规矩哈我们先进入起点月...
    99+
    2023-06-21
  • Python爬虫之爬取最新更新的小说网站
    目录一、引言二、关于相关访问请求及应答报文2.1、百度搜索请求2.2、百度返回搜索结果2.3、小说网站关于最新更新的展现及html报文格式三、实现思路及代码3.1、根据url获取网站...
    99+
    2024-04-02
  • python中怎么使用XPath爬取小说
    这篇文章将为大家详细讲解有关python中怎么使用XPath爬取小说,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决...
    99+
    2023-06-14
  • python中使用XPath爬取小说的方法
    这篇“python中使用XPath爬取小说的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python中使用XPath爬...
    99+
    2023-06-30
  • Python爬虫之Scrapy框架系列(12)——实战ZH小说的爬取来深入学习CrawlSpider
    目录: 1. CrawlSpider的引入: (1)首先:观察之前创建spider爬虫文件时 (2)然后:通过命令scrapy genspider获取帮助: (...
    99+
    2023-09-05
    python 爬虫 scrapy crawlspider 项目实战
  • 使用scrapy简易爬取豆瓣9分榜单图书并存放在mysql数据库中
    注:大部分内容参考http://www.cnblogs.com/voidsky/p/5490798.html,但原文不是存在数据库中。首先创建一个项目douban9fenkuku@ubuntu:~/pach...
    99+
    2024-04-02
  • python爬取晋江文学城小说评论(情绪分析)
    1. 收集数据 1.1 爬取晋江文学城收藏排行榜前50页的小说信息 获取收藏榜前50页的小说列表,第一页网址为 ‘http://www.jjwxc.net/bookbase.php&...
    99+
    2024-04-02
  • python利用多线程+队列技术爬取中介网互联网网站排行榜
    目录目标站点分析编码时间目标站点分析 本次要抓取的目标站点为:中介网,这个网站提供了网站排行榜、互联网网站排行榜、中文网站排行榜等数据。 网站展示的样本数据量是 :58341。 采集...
    99+
    2024-04-02
  • Python入门,以及简单爬取网页文本内
      最近痴迷于Python的逻辑控制,还有爬虫的一方面,原本的目标是拷贝老师上课时U盘的数据。后来发现基础知识掌握的并不是很牢固。便去借了一本Python基础和两本爬虫框架的书。便开始了自己的入坑之旅   言归正传   前期准备   Im...
    99+
    2023-01-30
    入门 文本 简单
  • python怎么利用多线程+队列技术爬取中介网互联网网站排行榜
    本篇内容介绍了“python怎么利用多线程+队列技术爬取中介网互联网网站排行榜”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目标站点分析本次...
    99+
    2023-06-30
  • 【python】爬取豆瓣电影排行榜Top250存储到Excel文件中【附源码】
    英杰社区https://bbs.csdn.net/topics/617804998 一、背景         近年来,Python在数据爬取和处理方面的应用越来越广泛。本文将介绍一个基于Python的爬虫程 序,用于抓取豆瓣电影Top...
    99+
    2024-01-21
    python 人工智能 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作