概述
1.选一个自己感兴趣的主题或网站。(所有同学不能雷同)
2.用python 编写爬虫程序,从网络上爬取相关主题的数据。
3.对爬了的数据进行文本分析,生成词云。
4.对文本分析结果进行解释说明。
5.写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。
6.最后提交爬取的全部数据、爬虫及数据分析源代码。
这次爬取的是三星S9论坛
一共爬取了100页,大约2400篇帖子。对爬取到的文本进行分析,利用结巴分词,提取每篇帖子的20个关键词,再用词云对关键词文本进行分析,生成词云。
一、以下是爬取帖子的相关代码
import requests
from bs4 import BeautifulSoup
import jieba
import jieba.analyse
#将爬取到的文本保存到TXT文件
def file(content):
f = open('samsung.txt', 'a', encoding='utf-8')
f.write(content)
f.write("r")
f.close()
#对论坛中的每一页进行分析,得到每一个帖子的访问链接
def getListUrl(newbbsurl):
print(newbbsurl)
newbbs = requests.get(newbbsurl)
soup1 = BeautifulSoup(newbbs.text, 'html.parser')
body = soup1.select('.ImgList')
for i in body:
aurl = i.select('a')[0].attrs['href']
url = ("http://www.galaxyclub.cn" + aurl)
print(url)
getContent(url)
#爬取每个帖子中的文本,提取每个帖子中的20个关键词,并保存到文件中
def getContent(url):
newurl1 = requests.get(url)
soup1 = BeautifulSoup(newurl1.text, 'html.parser')
body = soup1.select('.BSHARE_POP')[0].text
i = jieba.analyse.extract_tags(body, topK=20, withWeight=False, allowPOS=())
for a in i:
file(a)
#生成前一百页的链接
for i in range(1,100):
aurl = 'http://www.galaxyclub.cn/bbs/galaxys_s9-p{}.html'.format(i)
getListUrl(aurl)
二、以下是读取文本生成词云的相关代码
from scipy.misc import imread
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import matplotlib.pyplot as plt
#用于生成词云的图片
back_color = imread('123.png')
wc = WordCloud(background_color='white', # 生成词云的背景颜色
max_words=1000, # 设置最大词数
mask=back_color, # 以该参数值作图绘制词云。
max_font_size=100, # 显示字体的最大值
stopwords=STOPWORDS.add('n'), # 使用内置的屏蔽词,再添加'苟利国'
font_path="C:WindowsWinSxSamd64_microsoft-windows-font-truetype-simhei_31bf3856ad364e35_10.0.17133.1_none_d9a7426bdd402fe7simhei.ttf",
# 解决无法显示中文的问题。
random_state=45, # 为每个词返回一个PIL颜色
)
#读取爬取到的文本文件
f = open('samsung.txt', 'r', encoding='utf-8').read()
wc.generate(f)
# 基于彩色图像生成相应彩色
image_colors = ImageColorGenerator(back_color)
# 显示图片
plt.imshow(wc)
# 关闭坐标轴
plt.axis('off')
# 绘制词云
plt.figure()
plt.imshow(wc.recolor(color_func=image_colors))
plt.axis('off')
# 保存图片
wc.to_file('samsung.png')
三、以下是生成词云时使用的图片和生成的词云
转载于:https://www.cnblogs.com/hano/p/8932475.html
最后
以上就是干净眼神为你收集整理的爬虫大作业_爬取三星Galaxy_S9论坛的全部内容,希望文章能够帮你解决爬虫大作业_爬取三星Galaxy_S9论坛所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复