【python爬虫】—豆瓣电影Top250,等离子电视尺寸
0evadmin
编程语言
6
文件名:【python爬虫】—豆瓣电影Top250,等离子电视尺寸
【python爬虫】—豆瓣电影Top250
豆瓣电影Top250 豆瓣榜单简介需求描述Python实现 豆瓣榜单简介 豆瓣电影 Top 250 榜单是豆瓣网站上列出的评分最高、受观众喜爱的电影作品。这个榜单包含了一系列优秀的影片,涵盖了各种类型、不同国家和时期的电影。 需求描述 使用python爬取top250电影,获取相应电影排名,电影名,星级, 打分和评论人数信息,将信息输出到Excel表格中。 Python实现 获取爬取网页 def download_all_htmls(index = list(range(0, 250, 25))):htmls = []for idx in index:url = f"https://movie.douban.com/top250?start={idx}&filter="print("craw html:", url)# 豆瓣具有反爬虫机制,添加headersheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'}r = requests.get(url, headers = headers)if r.status_code != 200:raise Exception("error")htmls.append(r.text)return htmls 解析得到单个网页内容 def parse_single_heml(html):soup = BeautifulSoup(html, 'html.parser')article_items = soup.find('div', class_='article')\.find('ol', class_='grid_view')\.find_all('div', class_='item')datas = []for article_item in article_items:rank = article_item.find('div', class_='pic').find('em').get_text()info = article_item.find('div', class_='info')title = info.find('div', class_='hd').find('span', class_='title').get_text()stars = info.find('div', class_='bd').find('div', class_='star').find_all('span')rating_star = stars[0]["class"][0]rating_num = stars[1].get_text()comments = stars[3].get_text()datas.append({'rank': rank,'title': title,'rating_star': rating_star.replace("rating","").replace("-t",""),'rating_num': rating_num,'comments': comments.replace("人评价", "")})return datas 爬取相关内容,并将结果写入Excel import requestsfrom bs4 import BeautifulSoupimport pandas as pdimport pprintimport jsonhtmls = download_all_htmls()all_datas = []for html in htmls:all_datas.extend(parse_single_heml(html))df = pd.DataFrame(all_datas)df.to_excel("practice03_豆瓣电影top250.xlsx", index=False) 结果展示
同类推荐
-

【Python 千题 —— 基础篇】输出列表累加和,暴风影音皮肤下载
查看 -

【Python 必会技巧】对字典按照键(key)或者值(value)排序,飞利浦mix
查看 -

【Python 自动化】自媒体剪辑第一版·思路简述与技术方案,smart cover
查看 -

【Python】PyCharm配置外部工具,gt630m(pycharm怎么配置gurobi)
查看 -

【Python】Web学习笔记_flask(1)——模拟登录,开奇网(python模拟登录网站)
查看 -

【Python】itertools模块,补充:可迭代对象、迭代器,摩托mt720(迭代器iterator python)
查看 -

【Python】jupyter notebook(学习笔记),beely唇膏怎么样
查看 -

【Python】pip命令及使用,x61(python pip命令)
查看 -

【Python】pip管理Python包,pes2009(python包管理工具pip)
查看