爬虫作业2-1

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

慕粉0041514576

2021-08-19 17:44:30

from bs4 import BeautifulSoup
import requests

def addtolist(a,aftersplit=False):
list = []
if(aftersplit):
for ele in a:
list.append(ele)
else:
for ele in a:
list.append(ele.text)
return list

hearders={'user-agent':'my-app/0.0.1'}
url='https://movie.douban.com/subject/1292064/'
responce = requests.get(url,headers=hearders)
soup = BeautifulSoup(responce.text,'html.parser')

filminfo={}
filminfo['name']=soup.find(property='v:itemreviewed').text
filminfo['director']=soup.find(rel='v:directedBy').text
filminfo['screen']=soup.find_all(class_='attrs')[1].text
filminfo['starring']=addtolist(soup.find_all(rel='v:starring'))
filminfo['genre']=addtolist(soup.find_all(property='v:genre'))
filminfo['country/region']=soup.find(text='制片国家/地区:').next_element
filminfo['language']=soup.find(text='语言:').next_element
filminfo['releasedate'] = soup.find(property='v:initialReleaseDate').text
filminfo['runtime']=soup.find(property='v:runtime').text
filminfo['othernames']=addtolist(soup.find(text='又名:').next_element.split("/"),aftersplit=True)
filminfo['imdb']=soup.find(text='IMDb:').next_element
filminfo['rating']=soup.find(property='v:average').text
filminfo['rating_people']=soup.find(property='v:votes').text
filminfo['5-star']=soup.find_all(class_='rating_per')[0].text
filminfo['4-star']=soup.find_all(class_='rating_per')[1].text
filminfo['3-star']=soup.find_all(class_='rating_per')[2].text
filminfo['2-star']=soup.find_all(class_='rating_per')[3].text
filminfo['1-star']=soup.find_all(class_='rating_per')[4].text
for key in filminfo:
print(key,":",filminfo.get(key))

运行结果:

name : 楚门的世界 The Truman Show

director : 彼得·威尔

screen : 安德鲁·尼科尔

starring : ['金·凯瑞', '劳拉·琳妮', '艾德·哈里斯', '诺亚·艾默里奇', '娜塔莎·麦克艾霍恩']

genre : ['剧情', '科幻']

country/region :  美国

language :  英语

releasedate : 1998-06-05(美国)

runtime : 103分钟

othernames : [' 真人Show(港) ', ' 真人戏 ', ' 真人世界 ', ' 楚门秀 ', ' 真人秀']

imdb :  tt0120382

rating : 9.3

rating_people : 1350816

5-star : 70.4%

4-star : 25.7%

3-star : 3.6%

2-star : 0.2%

1-star : 0.1%


写回答

1回答

DeltaF

2021-08-21

棒棒哒,祝你学习愉快

0

人人都能学的数据分析

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

1402 学习 · 1133 问题

查看课程