爬虫大作业
1、选一个自己感兴趣的主题。
2、用python 编写爬虫程序,从网络上爬取相关主题的数据。
3、对爬了的数据进行文本分析,生成词云。
4、对文本分析结果进行解释说明。
5、写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。
6、最后提交爬取的全部数据、爬虫及数据分析源代码。
import requests from bs4 import BeautifulSoup import re import time import sys import pandas as pd def getHTMLText(url,k): try: if(k==0):kw={} else: kw={'start':k,'filter':''} r = requests.get(url,params=kw,headers={'User-Agent': 'Mozilla/4.0'}) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: print("Failed!") def getData(html,movieInfo): soup = BeautifulSoup(html, "html.parser") movieList=soup.find('ol',attrs={'class':'grid_view'})#找到第一个class属性值为grid_view的ol标签 for movieLi in movieList.find_all('li'):#找到所有li标签 data = [] #得到电影名字 movieHd=movieLi.find('div',attrs={'class':'hd'})#找到第一个class属性值为hd的div标签 movieName=movieHd.find('span',attrs={'class':'title'}).getText()#找到第一个class属性值为title的span标签 #也可使用.string方法 data.append(movieName) #得到电影的评分 movieScore=movieLi.find('span',attrs={'class':'rating_num'}).getText() data.append(movieScore) #得到电影的评价人数 movieEval=movieLi.find('div',attrs={'class':'star'}) movieEvalNum=re.findall(r'\d+',str(movieEval))[-1] data.append(movieEvalNum) # 得到电影的短评 movieQuote = movieLi.find('span', attrs={'class': 'inq'}) if(movieQuote): data.append(movieQuote.getText()) else: data.append("无") movieInfo.append(data) basicUrl='https://movie.douban.com/top250' k=0 movieInfo = [] while k<=225: html=getHTMLText(basicUrl,k) time.sleep(1) k+=25 getData(html,movieInfo) title = ['电影名称', '评分', '评论人数', '短评'] test = pd.DataFrame(columns=title,data=movieInfo) output=sys.stdout outputfile=open("movie.csv",'w',encoding='utf-8') print(test) test.to_csv("movie.csv") outputfile.close()
词云图片:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本