国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Scrapy爬取hupu論壇標題統計數量并生成wordcloud

renweihub / 1559人閱讀

摘要:爬取數據提取標題最終爬取了頁多個標題分詞并統計詞的數量這里我使用了這個庫來分詞分出了個詞然后統計數量這里我統計了兩個詞以下和兩個詞以上的詞的量分配如圖生成詞云以及其他數據圖表這里我是用的庫生

爬取數據

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()#提取標題
        # 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頁2W多個標題


分詞并統計詞的數量

這里我使用了 jieba 這個庫來分詞
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個詞

然后統計數量
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")))

這里我統計了兩個詞以下和兩個詞以上的詞的量分配如圖


生成詞云以及其他數據圖表

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庫生成的詞云,圖片是hupu的logo


使用jieba的分詞分出詞性 生成的圖表


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40703.html

相關文章

  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...

    Harriet666 評論0 收藏0
  • python數據分析微博熱門

    摘要:前者對中文進行分詞后者圖形化展示詞語的出現頻率。眾所周知,中文系的語言處理恐怕是最難的自然語言處理的語種。研究中文自然語言處理將是一個長久而大的工程,對于分析數據我們不是要研究自然語言處理 接上篇,這一篇將從技術層面講講是如何實現的。閱讀本文您將會了解如何用python爬取微博的評論以及如何用python word_cloud庫進行數據可視化。 上一篇:程序員代碼下的許豪杰 準備工作 ...

    firim 評論0 收藏0
  • 從零開始的Python爬蟲速成指南

    摘要:內容如下是我們準備爬的初始頁這個是解析函數,如果不特別指明的話,抓回來的頁面會由這個函數進行解析。爬取多個頁面的原理相同,注意解析翻頁的地址設定終止條件指定好對應的頁面解析函數即可。后面的數字表示的是優先級。指明每兩個請求之間的間隔。 序 本文主要內容:以最短的時間寫一個最簡單的爬蟲,可以抓取論壇的帖子標題和帖子內容。 本文受眾:沒寫過爬蟲的萌新。 入門 0.準備工作 需要準備的東西:...

    gotham 評論0 收藏0
  • 使用Scrapy框架爬取網頁保存到Mysql

      小編寫這篇文章的主要目的,主要是用來給大家做出一個解答,解答關于Scrapy框架的事情,主要是使用Scrapy框架,爬取網頁,然后保存到一個專業數據庫中,這個數據庫就是Mysql,那么,其具體要怎么實現呢?下面就給大家詳細的解答。  大家好,這一期阿彬給大家分享Scrapy爬蟲框架與本地Mysql的使用。今天阿彬爬取的網頁是虎撲體育網。  (1)打開虎撲體育網,分析一下網頁的數據,使用xpat...

    89542767 評論0 收藏0
  • 快速上手——我用scrapy寫爬蟲(一)

    摘要:寫在前面用寫爬蟲的人很多,的爬蟲框架也很多,諸如和,筆者還是筆記傾向于,本文就用寫一個小爬蟲。本文適用于有一定基礎的,并且對爬蟲有一定了解的開發者。 寫在前面 用python寫爬蟲的人很多,python的爬蟲框架也很多,諸如pyspider 和 scrapy,筆者還是筆記傾向于scrapy,本文就用python寫一個小爬蟲demo。本文適用于有一定python基礎的,并且對爬蟲有一定了...

    curlyCheng 評論0 收藏0

發表評論

0條評論

renweihub

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<