scrapy爬虫爬取完整小说

16 篇文章 0 订阅
订阅专栏

介绍

使用scrapy轻松构建一个可以爬取完整小说的爬虫

目录

    • 介绍
    • 1、创建项目
    • 2、创建爬虫脚本
    • 3、分析要爬取的小说
    • 4、爬取并解析数据
    • 5、接收并保存数据
    • 6、配置修改
    • 7、编写启动脚本
    • 8、效果查看

1、创建项目

test01目录下执行命令scrapy startproject xiaoshuospider,创建一个名为xiaoshuospider的爬虫

D:\3.dev\pyworkspace\scraw\test01>scrapy startproject xiaoshuospider
New Scrapy project 'xiaoshuospider', using template directory 'c:\users\flxk\appdata\local\programs\python\python36\lib\site-packages\scrapy\templates\project', created in:
    D:\3.dev\pyworkspace\scraw\test01\xiaoshuospider

You can start your first spider with:
    cd xiaoshuospider
    scrapy genspider example example.com

目录结构如下
在这里插入图片描述

2、创建爬虫脚本

xiaoshuospider下执行命令scrapy genspider quanben quanben.net,生成quanben.py爬虫文件

D:\3.dev\pyworkspace\scraw\test01\xiaoshuospider>scrapy genspider quanben quanben.net
Created spider 'quanben' using template 'basic' in module:
  xiaoshuospider.spiders.quanben

初始内容如下

# -*- coding: utf-8 -*-
import scrapy


class QuanbenSpider(scrapy.Spider):
    # 爬虫名称
    name = 'quanben'
    # 爬虫允许访问的域
    allowed_domains = ['quanben.net']
    # 初始访问地址(手动修改为自己想要的地址)
    start_urls = ['https://www.quanben.net/8/8583/4296044.html']

    def parse(self, response):
        pass

3、分析要爬取的小说

结合xpath插件( xpath安装与使用),我们可以提取到小说的章节名称、内容和下一章节url地址
在这里插入图片描述

4、爬取并解析数据

quanben.py文件中编写请求和数据解析逻辑

# -*- coding: utf-8 -*-
import scrapy


class QuanbenSpider(scrapy.Spider):
    # 爬虫名称
    name = 'quanben'
    # 爬虫允许访问的域
    allowed_domains = ['quanben.net']
    # 初始访问地址(手动修改为自己想要的地址)
    start_urls = ['https://www.quanben.net/8/8583/4296044.html']

    def parse(self, response):
        # 章节标题
        title = response.xpath('//h1/text()').extract_first()
        # 内容
        content = response.xpath('string(//div[@id="BookText"])').extract_first().strip().replace('    ','\n')
        # 下一章节地址
        next_url = response.xpath('//div[@class="link xb"]/a[3]/@href').extract_first()
        # 通过yield,将这个title、content传递给 pipelines.py做进一步处理
        yield {
            'title': title,
            'content': content
        }
        # 通过yield,获得下一个url,并在请求完成后调用该对象的回调函数
        yield scrapy.Request(response.urljoin(next_url), callback=self.parse)

5、接收并保存数据

pipelines.py文件中编写数据持久化逻辑

# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html


class XiaoshuospiderPipeline(object):
    # 打开文件
    def open_spider(self, spider):
        self.filename = open('xiaoshuo.txt', 'w', encoding='utf-8')

    def process_item(self, item, spider):
        # 爬取标题
        info = item['title'] + '\n'
        # 爬取完整内容
        # info = item['title'] + '\n' + item['content'] + '\n' + '---------------------分割线----------------------' + '\n'
        # 写入文件
        self.filename.write(info)
        self.filename.flush()
        return item

    # 关闭文件
    def close_spider(self, spider):
        self.filename.close()

6、配置修改

settings.py文件中的需要修改的配置信息

# 设置浏览器User-Agent请求头
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36'

# 是否遵循爬虫协议
ROBOTSTXT_OBEY = False

# 每隔2s请求一次
DOWNLOAD_DELAY = 2

# 开启pipelines
ITEM_PIPELINES = {
   'xiaoshuospider.pipelines.XiaoshuospiderPipeline': 300,
}

7、编写启动脚本

xiaoshuospider目录下创建start.py脚本,编写如下启动命令

from scrapy.cmdline import execute

# 启动命令
execute('scrapy crawl quanben'.split())

8、效果查看

执行脚本后,会生成xiaoshuo.txt文件保存爬取的小说内容

第一章 雪鹰领
第二章 超凡
第三章 分离
第四章 兄弟
第五章 枪法
第六章 修炼
...

爬虫爬出来的数据不全_Web Scraper教程(二)爬虫入门之当当畅销书爬取
weixin_39915081的博客
11-21 788
你每年能读几本书?2018年,我国人均数字阅读量为12.4本;2019年,我国成年人均纸质图书阅读量为4.65本。粗略计算,我国人均每年可以读17本书,平均每月1.5本。按照从18岁成年到77岁的人均寿命计算,人的一生可以读1020本书。当当网上的图书数量是多少?经济类:614873 本管理类:1049148 本历史类:607259 本小说类:1564887 本可见时间有限,现代文明的...
python爬取天气预报数据并保存为txt格式_今天分享一个用Python爬取小说的小脚本!(附源码)...
weixin_34025386的博客
12-23 484
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。以下文章天气预报数据分析与统计之美 ,作者:❦大头雪糕❦Python GUI制作小说下载器教学讲解https://www.bilibili.com/video/BV13a4y1E7Tb/前言很多同学都喜欢看小说,尤其是程序员人群,对武侠小说,科幻小说都很着迷,最近的修仙的小说也很多,类似凡人修仙传,...
scrapy爬取网络小说
05-25
scrapy爬取网络小说,可以将111008换成别的小说id,再次爬取
使用scrapy爬取小说网站的所有小说内容,并且使用简易的flask框架显示所有书和章节与内容
zx的博客
11-02 1583
一、爬小说 scrapy startproject demo cd demo scrapy genspider novel 设计mysql表结构如下: 1.存放书的表 create table novels_item( novel_id int auto_increment primary key, novel_name varchar(20)); 2.存放章节和章节内容的表 create t...
探索高效网络小说抓取: NovelSpider
最新发布
gitblog_00058的博客
04-23 309
探索高效网络小说抓取: NovelSpider 项目地址:https://gitcode.com/suhanyujie/NovelSpider NovelSpider 是一个开源的Python爬虫项目,专为自动抓取和下载网络上的小说而设计。对于热爱阅读并希望自建个人小说库的用户,这是一个非常实用的工具。 项目简介 NovelSpider是一个灵活且可扩展的网络爬虫框架,它能够根据你的需求定制抓取规...
Python爬虫——教你用Scrapy框架爬取小说
霖hero
09-07 3509
大家好,我是霖hero 相信学Python爬虫的小伙伴听说过Scrapy框架,也用过Scrapy框架,正所谓一时看小说一时爽,一直看小说一直爽,今天我们边学习Scrapy框架边爬取整部小说,让大家在不知不觉的学习过程中使用Scrapy框架完成整部小说爬取。 首先我们简单介绍Scrapy框架是什么? Scrapy框架是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架,是提取结构性数据而编写的应用框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,我们只需要少量的代码就能够快速抓取
scrapy爬取小说(二)
baifanwudi的专栏
02-19 1288
根据上一章目录分析 今天继续分析每一章内容 chrome打开https://www.booktxt.net/6_6453/5235604.html分析 终端命令 scrapy shell https://www.booktxt.net/6_6453/5235604.html 输入命令 response.css("div.bookname h1::text").get() response
scrapy框架爬取小说
活动的笑脸的博客
02-20 1624
首先创建相关项目文件,打开cmd输入以下命令: scrapy startproject 项目名称 接着切换到目录文件: cd 项目名称 定义要爬取的网站: scrapy genspider 爬虫名称 起始url网站(域名) 过程如下: C:\Users\Administrator\Desktop\scrapy>scrapy startproject xiaoshuo_text New Scrapy project 'xiaoshuo_text', using template directo
python爬虫实战——小说爬取
热门推荐
cuc_pyx技术小站
05-21 2万+
基于requests库和lxml库编写的爬虫,目标小说网站域名http://www.365kk.cc/,类似的小说网站殊途同归,均可采用本文方法爬取
Python爬虫scrapy框架-爬取小说信息
编程小鹏的博客
06-30 1472
我们要得到起点中文网中小说热销榜的数据,每部小说的提取内容为:小说名字、作者、类型、形式。然后将得到的数据存入CSV文件。创建一个scrapy爬虫项目方式如下: (4)创建一个名为qidian_hot的项目 (5)用pycharm打开qidian_hot项目 其他文件暂时不用管,在spiders文件夹下创建一个Python文件qidian_hot_spider.py. 在这个文件下编写代码。 4、终端运行爬虫程序 (1)将文件夹改到项目文件夹下 (2)输入爬虫执行命令,回车 hot是爬虫名称,- o
使用pythonscrapy模块爬取文本保存到txt文件
12-23
使用pythonscrapy爬取文本保存为txt文件 编码工具 Visual Studio Code 实现步骤 1.创建scrapyTest项目 在vscode中新建终端并依次输入下列代码: scrapy startproject scrapyTest cd scrapyTest code 打开项目...
Scrapy框架爬取爱情诗送给女友项目源码
05-01
scrapy框架爬取诗词网站爱情诗项目,Pycharm工具打开项目,运行main.py文件 Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以...
入门Python爬虫:使用Scrapy框架爬取小说教程及代码实例
python03011的博客
11-15 3349
相信学Python爬虫的小伙伴听说过Scrapy框架,也用过Scrapy框架。今天我们边学习Scrapy框架边爬取整部小说,让大家在不知不觉的学习过程中使用Scrapy框架完成整部小说爬取~Scrapy框架是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架,是提取结构性数据而编写的应用框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,我们只需要少量的代码就能够快速抓取数据。
使用python爬取小说
FengF2017的博客
02-09 1万+
使用python爬虫爬取小说 喜欢看网络小说的朋友们,经常需要从网上下载小说。有些人不想向正版网页交钱,也不想注册其他网站的账号,那么对于某些比较冷门的小说或者是正在更新的小说来说,就很难下载到txt或者其他格式的小说。我就是不想花太多时间找冷门小说的下载资源,因此稍微学习了python爬虫知识。 新建scrapy爬虫项目 scrapypython爬虫框架。使用以下语句安装scra...
python:最简单爬虫之使用Scrapy框架爬取小说
奋斗鱼
01-21 2327
python爬虫框架中,最简单的就是Scrapy框架。执行几个命令就能生成爬虫所需的项目文件,我们只需要在对应文件中调整代码,就能实现整套的爬虫功能。 以下在开发工具PyCharm中用简单的Demo项目来演示爬取小说网站的流程。我们打开小说网首页,将要演示的是如何爬取首页小说推荐列表的小说名称、小说简介、小说作者,这三项元素内容并输出到txt文件中。
最简单的python爬取网页小说
weixin_74862427的博客
01-21 1295
超级简单的python爬虫 爬取网络小说 第一次发博客
scrapy-redis使用
攀登Fox的博客
07-04 3114
scrapy-redis是一个三方的基于redis的分布式爬虫框架,配合scrapy使用,让爬虫具有了分布式爬取的功能
python爬虫爬取小说内容并保持
02-15
您好!可以使用 Python爬虫库,如 Beautiful Soup、Scrapy 等来爬取小说内容。 首先,使用 Python 的 requests 库来发送 HTTP 请求,获取小说的 HTML 网页内容。然后,使用 Beautiful Soup 或者其他的 HTML 解析库来解析 HTML 网页,从中提取出小说的文本内容。 之后,使用 Python 的文件操作来保存小说的文本内容。可以将小说的文本内容写入一个文件中,也可以使用 Python 的数据库库来将小说的文本内容保存到数据库中。 以下是一个简单的示例代码,使用 requests 和 Beautiful Soup 来爬取并保存小说的文本内容: ``` import requests from bs4 import BeautifulSoup # 发送 HTTP 请求,获取小说的 HTML 网页内容 response = requests.get(<小说网址>) html = response.text # 使用 Beautiful Soup 解析 HTML 网页 soup = BeautifulSoup(html, 'html.parser') # 从 HTML 网页中提取出小说的文本内容 novel_text = soup.find(<HTML 标签>, <属性>) # 使用文件操作保存小说的文本内容 with open(<文件名>, 'w') as f: f.write(novel_text) ``` 希望这能帮到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 代理服务器搭建 27124
  • 烟囱式架构与共享式架构 11981
  • 机器学习四大任务:回归、分类、聚类与降维 8122
  • 人工智能的主要算法与应用 7541
  • Spring security自定义登录界面 4551

分类专栏

  • 项目管理
  • 人工智能
  • 数学知识 2篇
  • 线性回归 5篇
  • 线性分类
  • 计算与绘图 5篇
  • Java架构与框架 2篇
  • 架构设计 4篇
  • 知识整理 5篇
  • 项目管理
  • Linux 10篇
  • SpringCloud 3篇
  • 分布式事务 2篇
  • Springboot 27篇
  • ELK 4篇
  • ZooKeeper 6篇
  • ActiveMQ 7篇
  • Nginx 6篇
  • 分布式文件系统 4篇
  • Docker 6篇
  • Apollo 3篇
  • 日志插件
  • Drools 5篇
  • 数据库
  • 数据库与SQL基础 3篇
  • Mysql 1篇
  • Redis 5篇
  • MongoDB 9篇
  • 前端
  • 前端基础 6篇
  • vue 9篇
  • 工程化 13篇
  • Python
  • 爬虫 16篇
  • 笔记 4篇
  • 其它 3篇

最新评论

  • 代理服务器搭建

    付煜铭: 代金券在哪表情包

  • MongoDB用户管理操作

    隔壁de老樊: 文章不错,nice

  • scrapy爬虫爬取完整小说

    shiyi123_: 为什么我的只能爬取第一章的 调试发现不能自动点击下一章循环 求大佬分析

  • 代理服务器搭建

    wuyuer1027: 新的云都有限制了 不行了,6核以上才能绑定3个公网 10个要tmd 48核

  • 代理服务器搭建

    为谁攀登: 我能用啊,你自己水平不行怪谁???

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • http基础知识
  • Nginx基础知识
  • 网站架构设计与演进
2021年19篇
2020年160篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司南昌如何制作网站公司潜江seo排名河池seo优化推荐吉林网站制作设计多少钱六安百姓网标王推广公司甘南网站推广方案报价湘潭网站开发松岗至尊标王多少钱自贡网站关键词优化哪家好丽水SEO按天扣费推荐张北网站优化按天计费哪家好兰州网站优化按天扣费报价巴中网站优化软件价格营口网站制作报价同乐高端网站设计哪家好徐州网络推广宜昌营销网站多少钱济宁网站制作设计多少钱茂名网站优化按天扣费多少钱岳阳seo网站优化报价黄冈百度爱采购价格安顺网站seo优化武汉建站报价榆林外贸网站制作推荐白银关键词按天扣费哪家好海西网站建设设计推荐鞍山关键词按天扣费报价遂宁网络广告推广公司酒泉网站推广系统公司天门企业网站制作推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化