一个完整的大作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个完整的大作业相关的知识,希望对你有一定的参考价值。

1.选一个自己感兴趣的主题。

www.freebuf.com   FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台,同时也是爱好者们交流与分享安全技术的最佳社区。

技术分享

2.网络上爬取相关的数据

import requests
from bs4 import BeautifulSoup


def list(page):
    html=requests.get("http://www.freebuf.com/page/"+page)
    soup = BeautifulSoup(html.text,lxml)
    nlist=soup.select(div.news-info)
    #print(test.text)
    #print(news)
    for i in nlist:
        neirong(i.select(dl > dt > a)[0].get(href))
    try:
        list(str(int(page)+1))
    except:
        pass
    

def neirong(url):
    html=requests.get(url)
    soup = BeautifulSoup(html.text,lxml)
    t=soup.select(div.articlecontent)[0].select(div)[2].select(p)
    for i in t:
        print(i.text)
    #print(t)


list("1")

爬取数据如下

技术分享

 

3.进行文本分析,生成词云

import requests
from bs4 import BeautifulSoup
import pandas as pd
import jieba

from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import matplotlib.pyplot as plt
from scipy.misc import imread
import os
cis= ‘‘


def list(page):
    html= requests.get("http://www.freebuf.com/page/"+ page)
    soup = BeautifulSoup(html.text, lxml)
    nlist= soup.select(div.news-info)
    for i in nlist:
        neirong(i.select(dl > dt > a)[0].get(href))
    try:
        # list(str(int(page)+1))
        pass
    except:
        pass

def neirong(url):
    html= requests.get(url)
    soup = BeautifulSoup(html.text, lxml)
    t= soup.select(div.articlecontent)[0].select(div)[2].select(p)
    for i in t:
        jiebafc(i.text)

def jiebafc(text):
    seg_list = jieba.cut(text, cut_all=False)
    # print ("Default Mode:", ",".join(seg_list))  # 精确模式
    ci= " " .join(seg_list)
    # print(ci)
    global cis
    cis= cis +ci


list("1")
a=[]
a.append(cis)
dataframe = pd.DataFrame({a_name:a})
dataframe.to_csv("test.csv",index =False,sep=  )
print(cis)

d =os.path.dirname(__file__)  # 获取当前路径
text= cis
alice_coloring = imread(os.path.join(d, "11.png"))  # 设置背景图片

# 初始化词云一系列参数
wc = WordCloud(background_color="white",  # 背景颜色max_words=2000,# 词云显示的最大词数
               mask=alice_coloring,  # 设置背景图片
               stopwords=STOPWORDS.add("said"),
               font_path="MSYH.TTF",  # 中文字体文件
               max_font_size=40,  # 字体最大值
               random_state=42)
wc.generate(text)  # 生成词云
image_colors = ImageColorGenerator(alice_coloring)  # 从背景图片生成颜色值

plt.imshow(wc)  # 画词云
plt.axis("off")
wc.to_file(os.path.join(d, "名称.png"))  # 保存图片到当前目录下

截图如下

技术分享

技术分享

 

以上是关于一个完整的大作业的主要内容,如果未能解决你的问题,请参考以下文章

一个完整的大作业

一个完整的大作业

一个完整的大作业

一个完整的大作业

一个完整的大作业

一个完整的大作业