基于scrapy爬取的百度贴吧并进行数据分析

问题分析:我们要获取某贴吧的帖子标题和主贴内容,并进行简单的数据分析

首先我们需要在命令行中建立一个scrapy工程,对于scrapy这个框架我们只需要把需要的数据添加进去,简单方便。

class ZibizhengItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    content = scrapy.Field()#获取内容
    title = scrapy.Field()#获取标题

接着,我们在settings.py里更改包括对robat协议等一些配置
我们开始编写代码的主体部分

import scrapy
from zibizheng.items import ZibizhengItem

class ZhibiSpider(scrapy.Spider):
    name = 'zhibi'
    allowed_domains = ['tieba.baidu.com']
    start_urls = ['http://tieba.baidu.com/f?kw=%E8%87%AA%E9%97%AD%E7%97%87&ie=utf-8&']
    base_url = 'http://tieba.baidu.com/f?kw=%E8%87%AA%E9%97%AD%E7%97%87&ie=utf-8&pn=0'

    def parse(self, response):
        item=ZibizhengItem()
        for page in range(0, 419,50):#进行翻页处理,每一页间隔50
            yield scrapy.Request(self.base_url + str(page), callback=self.get_url,dont_filter=True, meta={"item": item})
    def get_url(self, response):
        item = response.meta["item"]
        title_list=response.xpath('//div[@class="threadlist_title pull_left j_th_tit "]/a/text()').extract()#用xpath解析标题
        content_list=response.xpath('//div[@class="threadlist_abs threadlist_abs_onlyline "]/text()').extract()#用xpath解析内容
        title=''.join(title_list)
        content=''.join(content_list)#将列表转换成字符串以便写入
        item['title']=title
        item['content']=content
        yield item

至此,我们的这个主体代码编写完毕
爬取到数据,需要保存到本地

import codecs
import time
from zibizheng.items import ZibizhengItem
class ZibizhengPipeline(object):
    def process_item(self, item, spider):
        today = time.strftime('%y%m%d', time.localtime())  # 获取本地时间
        fileName = today + 'tit.txt'
        fileNamecon = today + 'con.txt'#对标题和内容分别保存
        with open(fileName, 'a', encoding='utf-8') as f:
            f.write(item["title"])
        with open(fileNamecon, 'a', encoding='utf-8') as f:
            f.write(item["content"])

这个scrapy的爬虫,我们已经写完,我们需要这些帖子的主体都在描述什么内容,我们做了一个简单的词云图,用图来表示更为直观在这里插入图片描述
这里我们提前使用了jieba分词以及哈工大的停用词对数据进行了处理,从这个词云图中,我们可以提取到“孩子”,“家长”,“医生”等这些人物之间的关系,以及“眼神”,“怀疑”,“脾气”,“变化”,“说话”这些孩子的外在变化。
在这里插入图片描述
我们又对其中的某些数据做了更为详细的词频统计,其中基本上是家长对孩子康复做的一些努力,其中出现的这个“星儿”据调查得知,是行业内很知名的一家康复机构。

在此,我们的整个项目算是已经完成,希望自闭症儿童可以早点康复。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值