眾所周知,豆瓣是中國最受歡迎的電影、圖書、音樂等信息共享平臺,想必大家在使用的過程中也經(jīng)常遇到需要收集豆瓣內(nèi)容的需求。在這里,我們可以使用Python來實現(xiàn)自動化爬取豆瓣的內(nèi)容。
import requests
from bs4 import BeautifulSoup
url = "https://movie.douban.com/top250"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, "html.parser")
movie_list = []
for movie in soup.find_all("div", class_="info"):
title = movie.find("span", class_="title").text.strip()
rating = movie.find("span", class_="rating_num").text.strip()
comment_count = movie.find("div", class_="star").find_all("span")[3].text.strip()
movie_list.append((title, rating, comment_count))
print(movie_list)
代碼中,我們首先導(dǎo)入requests和BeautifulSoup庫,然后定義url和headers。接著,使用requests庫發(fā)起請求,得到頁面內(nèi)容并用BeautifulSoup庫將其解析。
在循環(huán)中,我們使用find_all方法來找出所有class屬性為info的div標(biāo)簽,然后進一步提取電影名稱、評分和評論數(shù),并將它們組成一個元組,最后添加到movie_list列表中。
最后,我們輸出movie_list列表來驗證爬取結(jié)果是否正確。可以發(fā)現(xiàn),通過這段代碼,我們成功爬取并解析了豆瓣電影Top250的電影名稱、評分和評論數(shù)。
當(dāng)然,對于其他類型的內(nèi)容,只需要修改url和class屬性即可實現(xiàn)相應(yīng)功能。通過Python實現(xiàn)自動化爬取豆瓣內(nèi)容,不僅可以提高效率,還可以避免重復(fù)勞動,真是一舉兩得。