首页 > 其他分享 >Scray爬取小说

Scray爬取小说

时间:2024-07-13 15:25:52浏览次数:14  
标签:content Scray self 爬取 item scrapy ddyueshu 小说 com

 1.创建一个scrapy项目

scrapy startproject dingdianxiaoshuo

进入到项目里

cd + 项目路径

创建CrawlSpider

scrapy genspider -t crawl 爬虫名 (allowed_url)
scrapy genspider -t crawl xs ddyueshu.com

创建一个窗口

code .

2.编写wallpaper.py文件

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
"""
使用scrapycrawl类爬取小说数据
"""
class XsSpider(CrawlSpider):
    name = "xs"
    allowed_domains = ["ddyueshu.com"]
    start_urls = ["https://www.ddyueshu.com/1_1651/"]

    rules = (
        Rule(LinkExtractor(restrict_xpaths="//div[@class='box_con']/div/dl/dd[7]/a"),callback="parse_item",follow=True),
        Rule(LinkExtractor(restrict_xpaths="//div[@class='bottem2']/a[3]"), callback="parse_item", follow=True)
        )

    def parse_item(self, response):
        title = response.xpath("//div[@class='bookname']/h1/text()").get()
        content = response.xpath("//div[@id='content']/text()").extract()

        yield{
            'title':title,
            'content':content
        }

Rule分别定位小说第一章的xpath链接和下一章链接的xpath,因为使用scrapycrawl类爬取小说要是在第一章的里面(第一章 外门弟子_修罗武神_玄幻小说_顶点小说 (ddyueshu.com))开始爬取数据会丢失第一章的数据,所以要在上一层(修罗武神最新章节_修罗武神无弹窗全文阅读_顶点小说 (ddyueshu.com))开始。

3.配置settings.py文件

添加useragent,把robot协议注释,每爬取一页等待2秒,打开管道

4.编写pipeline.py文件

from itemadapter import ItemAdapter
import re

class DingdianxiaoshuoPipeline:
    def open_spider(self,spider):
        self.file = open('xiaoshuo.txt','w',encoding='utf-8')
    def process_item(self, item, spider):
       self.file.write(item['title'])
        #item返回的是列表类型,需要转换成字符串才能写入
       content = self.file.write((re.sub(r'\t+','\n',''.join(item['content'])))+'\n\n\n')
       self.file.flush()
       return item
    def close_spider(self,spider):
        self.file.close()

效果展示

标签:content,Scray,self,爬取,item,scrapy,ddyueshu,小说,com
From: https://blog.csdn.net/qq_39000057/article/details/140399976

相关文章

  • Scrapy爬取高清壁纸
    创建一个scrapy项目编写主程序文件代码配置settings文件编写pipelines文件代码目标地址:Desktopwallpapershd,freedesktopbackgrounds界面显示1.创建一个scrapy项目scrapystartprojectwallpapers进入到项目里cd+项目路径创建CrawlSpiderscrapygenspider-tc......
  • 可视化课设总结(星巴克网页爬取信息,百度地图网页版爬取信息,百度地图api,pyecharts库,pyth
    一、引言       本博客是本人是基于本人可视化课设所做的总结,其中有些过程的实现可能并不是最优的实现方法,有些实现效果也因为本人的实力有限,并不能达到预期的效果,所以也欢迎大家指点和改良。(刚考完期末回家,终于有时间把这个课设写个博客了,虽然这课设是明天截至的,我今......
  • Python爬虫抓取笔趣阁小说(含源码)
    学习一下思路:1.我们进入需要爬取到的小说界面,右键开发者工具,选中元素显示,然后找到需要爬取的小说章节模块在代码中的位置。将a标签中的文本内容复制,然后ctrl+u打开源代码ctrl+f将刚刚的文本内容复制查找是否有这个模块。(比较爽的是,刚好这里有,可以不需要去查看网络请求......
  • python爬虫案例——5行代码爬取音乐资源
    都2024年了,不会还有人在花钱用VIP下载音乐吧~每天一个小妙招,教你5行代码轻松白嫖资源小白须知电脑需配备python解释器、安装一款编程软件,例如VisualStudioCode、pycharm等VisualStudioCode官网:https://code.visualstudio.com/pycharm社区版:https://www.jetbrains.com......
  • Python Selenium+cookie+XPATH爬取数据
    以某科研基金信息平台为例,写了一个基于selenium的web自动化爬虫。不带验证码防反爬以及代理ip池,是最基础的自动化工具爬虫。一、首先,此平台需要登录后才能正常访问,否则数据不全,因此需要登录后获取cookie,以便selenium能够以登录状态运行1.F12打开开发者工具,找到network(网络),在登录......
  • 多进程优化顶点小说爬虫:加速爬取速度的深度优化策略
    顶点小说进阶(多进程+协程)建议:看之前可以先看我之前发布的文章(异步优化与数据入库:顶点小说爬虫进阶实战)这篇文章基于上篇文章:进行了多进程处理,大大加快了爬取速度案例:顶点小说完善(多进程)优化思路:导包:frommultiprocessingimportPool对于每一页的所有小说采用一个进程,建......
  • python爬虫——爬取12306火车票信息
    前提准备:requests、pandas、threading等第三方库的导入(未下载的先进行下载)导入库代码fromthreadingimportThread#多线程库importrequestsimportpandasaspdimportjson#json库完整步骤1.在网页找到需要的数据(1)任意输入出发地——目的地——日期,点击......
  • 异步优化与数据入库:顶点小说爬虫进阶实战
    顶点小说进阶建议这篇顶点小说进阶包括(数据入库、异步爬虫)看之前可以先看我之前发布的文章(从零开始学习Python爬虫:顶点小说全网爬取实战)入库#入库defsave_to_mysql(db_name,table_name,table_column_str,table_info_str):db=pymysql.connect(user='host',passw......
  • 简单爬虫案例——爬取快手视频
    网址:aHR0cHM6Ly93d3cua3VhaXNob3UuY29tL3NlYXJjaC92aWRlbz9zZWFyY2hLZXk9JUU2JThCJTg5JUU5JTlEJUEy找到视频接口:视频链接在photourl中 完整代码:importrequestsimportreurl='https://www.kuaishou.com/graphql'cookies={'did':'web_9e8cfa4403......
  • 《从零开始学习Python爬虫:顶点小说全网爬取实战》
    顶点小说装xpathhelperGitHub-mic1on/xpath-helper-plus:这是一个xpath开发者的工具,可以帮助开发者快速的定位网页元素。Question:加载完插件点击没反应Answer:将开发人员模式关闭即可爬虫介绍分类:搜索引擎:爬取范围广聚焦爬虫:爬取范围聚焦介绍:程序发起请求(request),......