爬虫的作业Scrapy+jieba+wordcloud

本文介绍了使用Scrapy爬虫框架抓取网站数据,存储为CSV,接着通过jieba进行文本分析,并利用wordcloud生成词云图的过程。详细讲解了项目结构、item定义、Spider实现、数据存储以及后期的数据分析和词云生成步骤。
摘要由CSDN通过智能技术生成
做了一下爬虫的作业 ,技术栈是scrapy为主,然后对爬取来的内容进行存储,存成csv格式,并进行分析且做出词云的效果

用pycharm,别用啥vscode,pycharm最好用
先创建一个scrapy项目,首先创建一个python项目,然后去终端输入指令 “scrapy startproject module”,其中module为模块名

这是我的项目结构 ,因为我爬取的是晋江,所以爬来的小说名字非常的沙雕
在这里插入图片描述

然后如果你没用命令行,是自己建的项目,那一定要加入这个.cfg文件,不然是跑不起来的。

然后middlewares.py是不用动的,自己只需要写pipeline,spider,items这三个,data和cloud是我用来分析的,和爬虫无关。

先看最简单的item把

可以写多个类对应不同的爬取结果
里面的每个属性都是随便设的,你需要爬取什么就加入什么


import scrapy


class MyscrapyItem(scrapy.Item):
    # 小说名称
    novelName = scrapy.Field()
    # 作者名称
    authorName = scrapy.Field()
    # 小说内容页链接
    novelContent = scrapy.Field()


class NovelItem(scrapy.Item):
    description = scrapy.Field()
    novelName = scrapy.Field()

    Day1 = scrapy.Field()
    Day2 = scrapy.Field()
    Day3 = scrapy.Field()
    Day4 = scrapy.Field()
    Day5 = scrapy.Field()

然后我第一步是去网站里把vip金榜(?或许是这个)里的小说名称+作者名称+链接爬取过来
Myspider.py

import scrapy


from myscrapy.items import MyscrapyItem,NovelItem



class Spider(scrapy.Spider):
    # 爬虫名
    name = "myspider"
    # 起始链接
    start_urls = ['http://www.jjwxc.net/fenzhan/yq/']

    name_list=[]
    def parse(self, response):
        # 开始爬取
        print("spider start")
        # 取出所有<li>标签中style=_width:183px;的标签
        node_list = response.xpath("//li[@style='_width:183px;']")
        next_url=[]
        # 遍历list
        for x in range(len(node_list)):

            node=node_list[x]

            # 创建item字段对象用来存储信息
            item = MyscrapyItem()
            # extract() : 将xpath对象转换为Unicode字符串
            novelName = node.xpath("./a/@alt").extract()
            self.name_list.append(novelName)
            authorName = node.xpath("./a/label/text()").extract()
            novelContent = node.xpath("./a/@href").extract()

            # 对的到的信息进行一点加工,并放入item中
            item['novelName'] = novelName[0].split(" ")[0]
            item['authorName'] = authorName[0]
            item['novelContent'] = "http://www.jjwxc.net/" + novelContent[0]
            urls=item['novelContent']
            next_url.append(item['novelContent'][0])

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值