一个完整的大作业

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

 针对个人兴趣,本次大作业选择了虎扑论坛这个平台,对虎扑步行街主干道进行数据采集和分析。网址为:https://bbs.hupu.com/bxj

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

import requests
from bs4 import BeautifulSoup

url = 'https://bbs.hupu.com/bxj'
res = requests.get(url)
res.encoding='utf-8'   
soup=BeautifulSoup(res.text,'html.parser')

for news in soup.select('.titlelink'):
    if len(news.select('a'))>0:
        title=news.select('a')[0].text
        burl=news.select('a')[0]['href']
        addurl='https://bbs.hupu.com{}'.format(burl)
        
        resd=requests.get(addurl)
        resd.encoding='utf-8'
        soupd=BeautifulSoup(resd.text,'html.parser')
        time=soupd.select('.stime')[0].text                       
        source=soupd.select('.u')[0].text
        print(title,addurl,time,source)

反映网页爬取结果如下:

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

import requests
import jieba
from bs4 import BeautifulSoup
import re

url = 'https://bbs.hupu.com/bxj'
res = requests.get(url)
res.encoding='utf-8'   
soup=BeautifulSoup(res.text,'html.parser')

for news in soup.select('.titlelink'):
    if len(news.select('a'))>0:
        title=news.select('a')[0].text
        burl=news.select('a')[0]['href']
        addurl='https://bbs.hupu.com{}'.format(burl)
        
        resd=requests.get(addurl)
        resd.encoding='utf-8'
        soupd=BeautifulSoup(resd.text,'html.parser')
        p = soupd.select('.floor-show')[0].text
        break

words = jieba.lcut(p)
ls = []
counts = {}
for word in words:
    ls.append(word)
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word,0)+1
items = list(counts.items())
items.sort(key = lambda x:x[1], reverse = True)
for i in range(8):
    word , count = items[i]
    print ("{:<5}{:>2}".format(word,count))

from wordcloud import WordCloud
import matplotlib.pyplot as plt    
cy = WordCloud(font_path='msyh.ttc').generate(p)
plt.imshow(cy, interpolation='bilinear')
plt.axis("off")
plt.show()

反映网页爬取文本分析结果如下:

反映网页爬取生成词云结果如下:

4.对文本分析结果解释说明。

 根据文本分析的结果可以看出步行街、版块、分类等词占了该网页的主要部分。其中在指定的篇幅文章中步行街、实名制、上级、访问、手机号等等占主要部分,说明在当前的网络形势下根据上级相关部门的指示,实名制和单一手机号的访问日渐严格,说明当前网络形势对安全的要求越来越高。

 

posted @ 2017-11-01 00:49  谢瑞楷  阅读(274)  评论(0编辑  收藏  举报