摘要:爬取數(shù)據(jù)提取標(biāo)題最終爬取了頁(yè)多個(gè)標(biāo)題分詞并統(tǒng)計(jì)詞的數(shù)量這里我使用了這個(gè)庫(kù)來(lái)分詞分出了個(gè)詞然后統(tǒng)計(jì)數(shù)量這里我統(tǒng)計(jì)了兩個(gè)詞以下和兩個(gè)詞以上的詞的量分配如圖生成詞云以及其他數(shù)據(jù)圖表這里我是用的庫(kù)生
爬取數(shù)據(jù)
huputitle_spiders.py
#coding:utf-8 import scrapy from huputitle.items import HuputitleItem from scrapy.crawler import CrawlerProcess class hupuSpider(scrapy.Spider): name = "huputitle" allowed_domains = ["bbs.hupu.com"] start_urls = ["https://bbs.hupu.com/bxj"] def parse(self, response): item = HuputitleItem() item["titles"] = response.xpath("http://a[@id=""]/text()").extract()#提取標(biāo)題 # print "titles",item["titles"] yield item new_url = "https://bbs.hupu.com" + response.xpath("http://a[@id="j_next"]/@href").extract_first() if new_url: yield scrapy.Request(new_url,callback=self.parse)
items.py
# -*- coding: utf-8 -*- import scrapy class HuputitleItem(scrapy.Item): # define the fields for your item here like: titles = scrapy.Field()
pipelines.py
# -*- coding: utf-8 -*- import os import urllib from huputitle import settings import sys reload(sys) sys.setdefaultencoding( "utf-8" ) class HuputitlePipeline(object): def process_item(self, item, spider): for title in item["titles"]: # print "title",title fo = open("foo.txt", "a") fo.write("".join(title)+" ") fo.close() return item
settings.py
BOT_NAME = "huputitle" SPIDER_MODULES = ["huputitle.spiders"] NEWSPIDER_MODULE = "huputitle.spiders" ITEM_PIPELINES = { "huputitle.pipelines.HuputitlePipeline": 1, } USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.54 Safari/536.5"
最終爬取了100頁(yè)2W多個(gè)標(biāo)題
這里我使用了 jieba 這個(gè)庫(kù)來(lái)分詞
hupudivide.py
#encoding=utf-8 import jieba import sys reload(sys) sys.setdefaultencoding("utf-8") fo = open("hupu.txt", "r") fi = open("hupudi.txt", "w") lines = fo.readlines() for line in lines: seg_list = jieba.cut_for_search(line) fi.write(" ".join(seg_list))
分出了17w個(gè)詞
然后統(tǒng)計(jì)數(shù)量
huPuCounter.py
#encoding=utf-8 import jieba import jieba.analyse import time from collections import Counter import sys reload(sys) sys.setdefaultencoding("utf-8") fo = open("hupudi.txt", "r") fi = open("hupunum.txt", "w") fl = open("hupunumword.txt", "w") f = open("hupuword.txt", "w") lines = fo.readlines() d = {} for line in lines: if line not in d: d[line] = 1 else: d[line] = d[line] + 1 d = sorted(d.items(),key=lambda item:item[1],reverse=True) for k in d: fi.write("%s%d " % (k[0][:-1].encode("utf-8"),k[1])) if len(k[0][:-1].encode("utf-8")) >= 6: fl.write("%s%d " % (k[0][:-1].encode("utf-8"),k[1])) f.write("%s" % (k[0][:-1].encode("utf-8")))
這里我統(tǒng)計(jì)了兩個(gè)詞以下和兩個(gè)詞以上的詞的量分配如圖
makeHupuCloud.py
#encoding=utf-8 import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba text_from_file_with_apath = open("foo.txt").read() wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = False) wl_space_split = " ".join(wordlist_after_jieba) backgroud_Image = plt.imread("huputag.jpg") my_wordcloud = WordCloud(background_color = "white", mask = backgroud_Image, ).generate(wl_space_split) plt.imshow(my_wordcloud) plt.axis("off") plt.show()
這里我是用python的wordcloud庫(kù)生成的詞云,圖片是hupu的logo
使用jieba的分詞分出詞性 生成的圖表
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/40703.html
摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:前者對(duì)中文進(jìn)行分詞后者圖形化展示詞語(yǔ)的出現(xiàn)頻率。眾所周知,中文系的語(yǔ)言處理恐怕是最難的自然語(yǔ)言處理的語(yǔ)種。研究中文自然語(yǔ)言處理將是一個(gè)長(zhǎng)久而大的工程,對(duì)于分析數(shù)據(jù)我們不是要研究自然語(yǔ)言處理 接上篇,這一篇將從技術(shù)層面講講是如何實(shí)現(xiàn)的。閱讀本文您將會(huì)了解如何用python爬取微博的評(píng)論以及如何用python word_cloud庫(kù)進(jìn)行數(shù)據(jù)可視化。 上一篇:程序員代碼下的許豪杰 準(zhǔn)備工作 ...
摘要:內(nèi)容如下是我們準(zhǔn)備爬的初始頁(yè)這個(gè)是解析函數(shù),如果不特別指明的話,抓回來(lái)的頁(yè)面會(huì)由這個(gè)函數(shù)進(jìn)行解析。爬取多個(gè)頁(yè)面的原理相同,注意解析翻頁(yè)的地址設(shè)定終止條件指定好對(duì)應(yīng)的頁(yè)面解析函數(shù)即可。后面的數(shù)字表示的是優(yōu)先級(jí)。指明每?jī)蓚€(gè)請(qǐng)求之間的間隔。 序 本文主要內(nèi)容:以最短的時(shí)間寫(xiě)一個(gè)最簡(jiǎn)單的爬蟲(chóng),可以抓取論壇的帖子標(biāo)題和帖子內(nèi)容。 本文受眾:沒(méi)寫(xiě)過(guò)爬蟲(chóng)的萌新。 入門(mén) 0.準(zhǔn)備工作 需要準(zhǔn)備的東西:...
小編寫(xiě)這篇文章的主要目的,主要是用來(lái)給大家做出一個(gè)解答,解答關(guān)于Scrapy框架的事情,主要是使用Scrapy框架,爬取網(wǎng)頁(yè),然后保存到一個(gè)專(zhuān)業(yè)數(shù)據(jù)庫(kù)中,這個(gè)數(shù)據(jù)庫(kù)就是Mysql,那么,其具體要怎么實(shí)現(xiàn)呢?下面就給大家詳細(xì)的解答。 大家好,這一期阿彬給大家分享Scrapy爬蟲(chóng)框架與本地Mysql的使用。今天阿彬爬取的網(wǎng)頁(yè)是虎撲體育網(wǎng)。 (1)打開(kāi)虎撲體育網(wǎng),分析一下網(wǎng)頁(yè)的數(shù)據(jù),使用xpat...
摘要:寫(xiě)在前面用寫(xiě)爬蟲(chóng)的人很多,的爬蟲(chóng)框架也很多,諸如和,筆者還是筆記傾向于,本文就用寫(xiě)一個(gè)小爬蟲(chóng)。本文適用于有一定基礎(chǔ)的,并且對(duì)爬蟲(chóng)有一定了解的開(kāi)發(fā)者。 寫(xiě)在前面 用python寫(xiě)爬蟲(chóng)的人很多,python的爬蟲(chóng)框架也很多,諸如pyspider 和 scrapy,筆者還是筆記傾向于scrapy,本文就用python寫(xiě)一個(gè)小爬蟲(chóng)demo。本文適用于有一定python基礎(chǔ)的,并且對(duì)爬蟲(chóng)有一定了...
閱讀 1011·2019-08-30 15:55
閱讀 3451·2019-08-30 13:10
閱讀 1277·2019-08-29 18:45
閱讀 2355·2019-08-29 16:25
閱讀 2116·2019-08-29 15:13
閱讀 2429·2019-08-29 11:29
閱讀 560·2019-08-26 17:34
閱讀 1496·2019-08-26 13:57