分析:
使用requests和Beautifulsoup爬取豆瓣电影TOP250。
首先对网址的跳转进行分析
第一页https://movie.douban.com/top250?start=0&filter=
第二页https://movie.douban.com/top250?start=25&filter=
发现第二页与第一页在url上的差距是start=后面的值,所以就将start=后面的值累加25,就可以得到对应的网页。这时可以使用for循环,字符串相加的方法,让python爬取每一页的内容。
执行完上述的内容,再使用Beatifulsoup对每一个requests爬取的网页提取电影名称即可。
下面是执行后反馈的结果:
import requests
from bs4 import BeautifulSoup
def get_dbmovies():
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0',
'Host': 'movie.douban.com'}
movie_list = []
for i in range(0, 10):
link = 'https://movie.douban.com/top250?start=' + str(i * 25)
r = requests.get(link, headers=headers, timeout=10)
print(str(i + 1), "页响应状态码:", r.status_code)
soup = BeautifulSoup(r.text, "lxml")
div_list = soup.find_all('div', class_='hd')
for each in div_list:
movie = each.a.span.text.strip()
movie_list.append(movie)
return movie_list
movies = get_dbmovies()
print(movies)