爬蟲大作業 爬取三星Galaxy S9論壇

2022-08-22 16:48:13 字數 2568 閱讀 5621

1.選乙個自己感興趣的主題或**。(所有同學不能雷同)

2.用python 編寫爬蟲程式,從網路上爬取相關主題的資料。

3.對爬了的資料進行文字分析,生成詞云。

4.對文字分析結果進行解釋說明。

5.寫一篇完整的部落格,描述上述實現過程、遇到的問題及解決辦法、資料分析思想及結論。

6.最後提交爬取的全部資料、爬蟲及資料分析源**。

這次爬取的是三星s9論壇

一、以下是爬取帖子的相關**

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 = ("" + aurl)

print(url)

getcontent(url)

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 = '/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:\windows\winsxs\amd64_microsoft-windows-font-truetype-simhei_31bf3856ad364e35_10.0.17133.1_none_d9a7426bdd402fe7\simhei.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')

三、以下是生成詞云時使用的和生成的詞云

爬蟲大作業之爬取筆趣閣小說

coding utf 8 import requests import threading from bs4 import beautifulsoup import re import os import time req header req url base 主位址 req url req ur...

爬蟲第七課 scrapy(三)爬取163新聞

這節課,我們學習乙個新的爬取模板 crawlspider crawlspider類的基本使用 切換模板 scrapy genspider t crawl 爬蟲名稱 爬取 linkextractors 提取鏈結 引數 allow 滿足則表示式的值會提取 restrict xpaths 滿足xpath路...

《軟體工程》個人作業3 網路爬蟲爬取疫情資料

1.要求 1.程式設計爬取每日最新的疫情統計資料。2.並將爬取結果匯入到資料庫中。3.將視覺化結果與統計資料結合,實時顯示當前最新資料。2.截圖 開發人員 mr wildfire 檔名稱web crawler.py 開發工具pycharm import requests import time,js...