- douban.html文件的部分内容如下,要把电影的片名、评分、评价人数、链接整理出来
1、用select()方法整理
import bs4, requests
file_object = open('F:\\python_work\\CSDN\\douban.html', 'rb') #以二进制形式打开文件
soup = bs4.BeautifulSoup(file_object, features='html.parser')
linkTitle = soup.select('.title') #匹配class类属性为title的元素
linkRatingNum = soup.select('.rating_num') #匹配class类属性为rating_num的元素
linkAssess = soup.select('.star span') #匹配class类属性为star的名为<span>的元素
relatedLink = soup.select('.info a') #匹配class类属性为info的名为<a>的元素
print("The followed list: \n")
newLinkTitle = [] #因为匹配到的片名有英文的,所以用这个方法剔除掉,建立新的片名列表
for title in linkTitle:
if title.getText().startswith(' /'):
continue
newLinkTitle.append(title)
for i in range(len(newLinkTitle)):
print(newLinkTitle[i].getText().ljust(10), end='')
print(linkRatingNum[i].getText().ljust(5), end='')
print(linkAssess[4*i+3].getText().ljust(20), end='')
print(relatedLink[i].get('href').ljust(50))
2、用find_all()方法整理
import bs4, requests
file_object = open('F:\\python_work\\CSDN\\douban.html', 'rb')
soup = bs4.BeautifulSoup(file_object, features='html.parser')
print("The followed list: \n")
for tag in soup.find_all('div', class_='info'):
movie_title = tag.find('span', class_='title').get_text()
rating_num = tag.find('span', class_='rating_num').get_text()
assess_star = tag.find('div', class_='star')
star_data = assess_star.find_all('span')
people_num = star_data[3].get_text()
movie_link = tag.find('a').get('href')
print(movie_title.ljust(10), rating_num.ljust(5), people_num.ljust(20), movie_link.ljust(50))
打印结果
The followed list:
肖申克的救赎 9.7 2106376人评价 https://movie.douban.com/subject/1292052/
霸王别姬 9.6 1561807人评价 https://movie.douban.com/subject/1291546/
阿甘正传 9.5 1591829人评价 https://movie.douban.com/subject/1292720/
这个杀手不太冷 9.4 1779159人评价 https://movie.douban.com/subject/1295644/
泰坦尼克号 9.4 1544346人评价 https://movie.douban.com/subject/1292722/
美丽人生 9.5 993919人评价 https://movie.douban.com/subject/1292063/
千与千寻 9.4 1655300人评价 https://movie.douban.com/subject/1291561/
辛德勒的名单 9.5 809664人评价 https://movie.douban.com/subject/1295124/
盗梦空间 9.3 1518494人评价 https://movie.douban.com/subject/3541415/
忠犬八公的故事 9.4 1056642人评价 https://movie.douban.com/subject/3011091/
海上钢琴师 9.3 1265576人评价 https://movie.douban.com/subject/1292001/
楚门的世界 9.3 1140218人评价 https://movie.douban.com/subject/1292064/
三傻大闹宝莱坞 9.2 1409033人评价 https://movie.douban.com/subject/3793023/
星际穿越 9.3 1185021人评价 https://movie.douban.com/subject/1889243/
机器人总动员 9.3 997620人评价 https://movie.douban.com/subject/2131459/
放牛班的春天 9.3 980216人评价 https://movie.douban.com/subject/1291549/
大话西游之大圣娶亲 9.2 1119644人评价 https://movie.douban.com/subject/1292213/
熔炉 9.3 688018人评价 https://movie.douban.com/subject/5912992/
疯狂动物城 9.2 1343958人评价 https://movie.douban.com/subject/25662329/
无间道 9.2 911174人评价 https://movie.douban.com/subject/1307914/
龙猫 9.2 941519人评价 https://movie.douban.com/subject/1291560/
教父 9.3 687561人评价 https://movie.douban.com/subject/1291841/
当幸福来敲门 9.1 1134295人评价 https://movie.douban.com/subject/1849031/
怦然心动 9.1 1315615人评价 https://movie.douban.com/subject/3319755/
触不可及 9.2 733883人评价 https://movie.douban.com/subject/6786002/