爬蟲大做業

一、選一個本身感興趣的主題。html

二、用python 編寫爬蟲程序,從網絡上爬取相關主題的數據。python

三、對爬了的數據進行文本分析,生成詞雲。算法

四、對文本分析結果進行解釋說明。網絡

五、寫一篇完整的博客,描述上述實現過程、遇到的問題及解決辦法、數據分析思想及結論。url

六、最後提交爬取的所有數據、爬蟲及數據分析源代碼。spa

import requests
from bs4 import BeautifulSoup
#import jieba
import jieba.posseg as psg

f = open('content.txt','a+',encoding='UTF-8')
newsurl = 'http://you.ctrip.com/travels/asia120001/t3.html'
path='http://you.ctrip.com/travels/asia120001/t3-p'
res = requests.get(newsurl)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')
# pages = int(soup.select('.numpage')[0].text)
#print(pages)    獲取總頁數
for news in soup.select('.ellipsis'):
    f.write(news.text+"")

for i in range(2, 500):
    pageUrl = path + '{}.html'.format(i)
    res = requests.get(pageUrl)
    res.encoding = 'utf-8'
    soup = BeautifulSoup(res.text, 'html.parser')
    for new in soup.select('.ellipsis'):
        f.write(new.text)
        f.write(" ")
f2 = open('content.txt', 'r',encoding='UTF-8')
text = f2.read()
wordlist = list(psg.cut(text))

set = set(wordlist)

dict = {}
for key in set:
    if key.flag.startswith('ns'):     #選出詞性爲地名的詞語
     dict[key]=wordlist.count(key)    #詞頻統計
dictlist = list(dict.items())
dictlist.sort(key=lambda x: x[1], reverse=True)
for i in range(30):                  #前三十的詞頻
    print(dictlist[i])

高頻詞生成詞雲code

 

經過爬取攜程網的遊記信息,統計出了亞洲前三十的熱門旅遊地區。因爲程序運行速度的問題(本身算法有問題),只是爬取了前500頁的遊記,因此統計出來的結果應該不太準確。orm

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息