爬虫大作业
1.选一个自己感兴趣的主题。
2.用python 编写爬虫程序,从网络上爬取相关主题的数据。
3.对爬了的数据进行文本分析,生成词云。
4.对文本分析结果进行解释说明。
5.写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。
6.最后提交爬取的全部数据、爬虫及数据分析源代码。
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import re
import jieba
def getNewsDetail(newsurl):#获取新闻详情
resd=requests.get(newsurl)
resd.encoding='utf-8'
soupd=BeautifulSoup(resd.text,'html.parser')
title = soupd.select('h1')[0].text
info=soupd.select('time')[0].text
time=datetime.strptime(info,'%m-%d %H:%M')
author=soupd.select('#source')[0].text
delcontent=soupd.select('p')[0].text
newscontent=soupd.select('article')[0].text.lstrip(delcontent)
keyWords=getKeyWords(newscontent)
print(time)
print(title)
print(author)
print(newscontent)
print(keyWords)
def getKeyWords(newscontent):#获取新闻关键词
newscontent = ''.join(re.findall('[\u4e00-\u9fa5]', newscontent))
wordSet=set(jieba._lcut(newscontent))
wordDict={}
for i in wordSet:
wordDict[i]=newscontent.count(i)
delList=[]
for i in wordDict.keys():
if len(i)<2:
delList.append(i)
for i in delList:
del wordDict[i]
dictList=list(wordDict.items())
dictList.sort(key=lambda item: item[1], reverse=True)
keyWords=[]
for i in range(20):
keyWords.append(dictList[i][0])
return keyWords
newsurl="https://m.haiwainet.cn/ttc/3541093/2018/0502/content_31308283_1.html?tt_group_id=6550811856905175559"
getNewsDetail(newsurl)


浙公网安备 33010602011771号