练手实例:Scrapy爬取一本完整小说(章节乱序问题解决)
戳这里查看此小说
整体都很简单,没啥多说的,10分钟搞定
外循环在主页面找url进行拼接,小循环解析详细页内容提取小说文本。
biquge.py
import scrapy
from scrapy.selector import Selectorclass BiqugeSpider(scrapy.Spider):name = 'biquge'allowed_domains = ['biquge.info']start_urls = ['https://www.biquge.info/34_34370/']def parse(self, response):selector = Selector(response)find_all = selector.xpath("/html/body/div[@id='wrapper']/div[@class='box_con'][2]/div[@id='list']/dl/dd")for section in find_all:href = section.xpath('.//@href').extract_first()real_url = response.urljoin(href)request = scrapy.Request(real_url,callback=self.parse_detail)yield request# print(real_url)测试成功def parse_detail(self,response):selector = Selector(response)content_list = selector.xpath('//div[@id="content"]/text()').extract()# for real in content:# print(real)测试成功content = '\n'.join(content_list)item = dict()item['content'] = contentprint(content)yield item
itempipins.py
class XiaoshuoPipeline(object):def __init__(self):self.file = open('D://女帝直播攻略.txt','a+',encoding='utf-8')def process_item(self, item, spider):self.file.write(item['content'])return item
settings.py
LOG_LEVEL = 'WARNING'
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
结果
真的不得不佩服scrapy的速度,太猛了,上了个厕所就爬完了一千七百多章。。
-----------------------------------------------------华丽的分割线-------------------------------------------------------------
由于很多小伙伴反应因为多线程的问题而导致scrapy爬取的小说章节乱序的问题,此处分享一个解决方法
增加两个东西:
1.设定一个全局变量,以章节序号作为键,以章节内容作为值
2.重写scrapy的close方法,按顺序遍历章节,并写入文件,或者保存到本地
项目地址 https://gitee.com/py_lzx/spider_lzx
练手实例:Scrapy爬取一本完整小说(章节乱序问题解决)相关推荐
- python爬取起点vip小说章节_python 爬取起点小说vip章节(失败)
今天心血来潮,想爬取起点vip小说章节,花费了足足0.27大洋后,悟出来一个人生道理,这个应该是爬不下来.但是这0.27大洋也教会了我两个知识点. 1.服务器只会响应客户端的请求,不会主动给客户端发送 ...
- 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- 爬虫进阶 之 Scrapy 框架 1(实例: 爬取ITcast 的教师信息)
Scrapy 什么是Scrapy 简介 Scrapy 架构 使用Scrapy 爬取 ITcast 什么是Scrapy 简介 Scrapy是适用于Python的一个快速.高层次的屏幕抓取和web抓取框架 ...
- Scrapy入门实例_爬取美剧天堂的最新前100
使用工具:Python3.6版本 Python官网:https://www.python.org/ 目录 Scrapy的安装 Scrapy爬取数据步骤 一.创建工程: 二.创建爬虫程序 三.编辑爬虫 ...
- Scrapy爬取北京公交并保存MYSQL数据库实例
前言就不过多赘述了,大家只要把scrapy的基本了解之后就可以完成这个项目. 一:创建scrapy项目: 打开控制台输入 scrapy startproject beibus(这个是项目名称,可以自己 ...
- 【python实现网络爬虫(5)】第一个Scrapy爬虫实例项目(Scrapy原理及Scrapy爬取名言名句网站信息)
Scrapy介绍 总共有五部分组成的:具体的流程可看图示 引擎.调度器.下载器.蜘蛛和项目管道 爬取流程 针对于每个URL, Scheduler -> Downloader -> Spid ...
- 如何用 Python + Scrapy 爬取视频?
今天将带大家简单了解Scrapy爬虫框架,并用一个真实案例来演示代码的编写和爬取过程. 一.scrapy简介 1. 什么是Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框 ...
- Python爬虫 - scrapy - 爬取妹子图 Lv1
0. 前言 这是一个利用python scrapy框架爬取网站图片的实例,本人也是在学习当中,在这做个记录,也希望能帮到需要的人.爬取妹子图的实例打算分成三部分来写,尝试完善实用性. 系统环境 Sys ...
- 基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据
基于selenium+scrapy爬取复仇者联盟4豆瓣影评数据 参考资料: 黑马程序员爬虫教程 静觅爬虫教程 mac下anaconda安装selenium+PhantomJS scrapy下载中间件结 ...
最新文章
- 基于深度学习的图像边缘和轮廓提取
- case when是不是只要满足第一个别的就不进行执行了
- 换换口味,体验一下Mandriva
- window.navigator.userAgent用来区分设备和浏览器
- 前端学习(2887):如何短时间内实现v-for createApp解决方案
- php 获取流文件大小,php获取文件大小详解
- JAVAWEB入门之Servlet的注解配置
- 漫步微积分三十五——弧长
- 安装第三方插件BeautifulSoup
- 【报告分享】2019Q3短视频KOL红人季度深度分析.pdf
- vmware服务器系统配置ip地址,教程 - Vmware ESXi IP地址配置
- 上海飞国内最远是哪里_讯飞连发三款智能录音笔!可离线转写拍视频秒配字幕,首推智能TWS耳机...
- 全球及中国非接触式雷达液位计行业运营动向及投资竞争力分析报告2022-2027年
- Android POS开发
- C盘爆满,你的专属清道夫来啦
- /etc/fstab文件详解
- 【全网最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)...
- 常见的穿透技术有哪些?
- 【Paper Reading FedBCD: A Communication-Efficient Collaborative Learning Framework for DF
- 企业微信、移动oa、移动社交crm全新解决方案隆重发布