提交作业python2-1

来源:2-1 获取目标信息

jazia

2021-09-08 00:34:15

import requests
from bs4 import BeautifulSoup

def get_list(soup_list): #定义一个函数,清洗解析后的网页信息,并以列表形式返回
list1=[]
for ele in soup_list:
list1.append(ele.string)
return list1
#访问网页、获取信息
url_db_movie='https://movie.douban.com/subject/1292052/'
headers={'user-agent':'my-app/0.0.1'}
response=requests.get(url=url_db_movie,headers=headers)

#解析网页
soup=BeautifulSoup(response.text,'html.parser')
#print(soup.prettify())

movie_info={}
#电影名称
movie_info['title']=soup.find(property="v:itemreviewed").string
#简介部分
movie_info['director']=soup.find(rel="v:directedBy").string #导演
movie_info['writer']=soup.find_all(class_="attrs")[0].string #编剧
# actor_list=[]
# for ele in soup.find_all(rel="v:starring"):
# actor_list.append(ele.string)
# actors=actor_list
movie_info['actors']=get_list(soup.find_all(rel="v:starring")) #演员
movie_info['gener']=get_list(soup.find_all(property="v:genre")) #类型
movie_info['pro_country']=soup.find(text="制片国家/地区:").next_element #制片国家
movie_info['language']=soup.find(text="语言:").next_element #语言
movie_info['release_date']=soup.find(property="v:initialReleaseDate").string #上映日期
movie_info['rumtime']=soup.find(property="v:runtime").string #片长

#评分部分
movie_info['average']=soup.find(property="v:average").string #评分
movie_info['votes']=soup.find(property="v:votes").string #评分人数
movie_info['5-star']=soup.find_all(class_="rating_per")[0].string
movie_info['4-star']=soup.find_all(class_="rating_per")[1].string
movie_info['3-star']=soup.find_all(class_="rating_per")[2].string
movie_info['2-star']=soup.find_all(class_="rating_per")[3].string
movie_info['1-star']=soup.find_all(class_="rating_per")[4].string

for k in movie_info:
print(k,":",movie_info.get(k))

E:\anaconda3\python.exe E:/PyCharmProject/Data_Analysis/C7爬虫/7.5获取目标信息.py

title : 肖申克的救赎 The Shawshank Redemption

director : 弗兰克·德拉邦特

writer : 弗兰克·德拉邦特

actors : ['蒂姆·罗宾斯', '摩根·弗里曼', '鲍勃·冈顿', '威廉姆·赛德勒', '克兰西·布朗', '吉尔·贝罗斯', '马克·罗斯顿', '詹姆斯·惠特摩', '杰弗里·德曼', '拉里·布兰登伯格', '尼尔·吉恩托利', '布赖恩·利比', '大卫·普罗瓦尔', '约瑟夫·劳格诺', '祖德·塞克利拉', '保罗·麦克兰尼', '芮妮·布莱恩', '阿方索·弗里曼', 'V·J·福斯特', '弗兰克·梅德拉诺', '马克·迈尔斯', '尼尔·萨默斯', '耐德·巴拉米', '布赖恩·戴拉特', '唐·麦克马纳斯']

gener : ['剧情', '犯罪']

pro_country :  美国

language :  英语

release_date : 1994-09-10(多伦多电影节)

rumtime : 142分钟

average : 9.7

votes : 2442114

5-star : 85.5%

4-star : 13.1%

3-star : 1.2%

2-star : 0.1%

1-star : 0.1%


Process finished with exit code 0


写回答

1回答

DeltaF

2021-09-09

棒棒哒,祝你学习愉快

0

人人都能学的数据分析

从0开始学数据分析,未来互联网各岗位的标配技能,产品经理、运营经理、技术人员人人必备,人人必会的的实用技能

1402 学习 · 1133 问题

查看课程