如何用python爬取豆瓣top25的导演名
时间: 2024-05-18 21:13:03 浏览: 98
可以使用Python中的requests和BeautifulSoup库来实现爬取豆瓣电影Top25的导演名。具体步骤如下:
1. 使用requests库发送HTTP请求,获取豆瓣电影Top25的页面内容。
2. 使用BeautifulSoup库对页面内容进行解析,提取导演名信息。
3. 将提取的导演名信息保存到一个列表中,最后输出结果。
以下是代码示例:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://movie.douban.com/top250'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
directors = []
for movie in soup.find_all('div', class_='info'):
director = movie.find('div', class_='bd').p.text.split('/')[0].strip()
directors.append(director)
for i, director in enumerate(directors):
print(f'{i+1}. {director}')
```
以上代码会输出豆瓣电影Top25的导演名,按照排名顺序依次列出。
相关问题
用python爬取豆瓣top250电影的上映年份和导演
好的,我可以为您提供一些思路和代码。
首先,我们需要用 Python 的 requests 库和 BeautifulSoup 库来爬取豆瓣 top250 电影页面的内容。然后,我们可以用正则表达式或者 BeautifulSoup 库来提取每一部电影的上映年份和导演信息。
以下是代码示例:
```python
import requests
from bs4 import BeautifulSoup
import re
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/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
movie_list = soup.find('ol', class_='grid_view').find_all('li')
for movie in movie_list:
# 提取电影的上映年份信息
year = movie.find('div', class_='bd').find('p', class_='').text
year = re.findall('\d{4}', year)[0]
# 提取电影的导演信息
director = movie.find('div', class_='bd').find('p', class_='').text
director = re.findall('导演: (.+?)\n', director)[0]
print(year, director)
```
以上代码通过 requests 库发送 GET 请求,获取豆瓣 top250 电影页面的 HTML 内容,并用 BeautifulSoup 库解析 HTML。然后,我们通过查看网页源代码,找到包含电影信息的 ol 标签,并用 find_all() 方法获取每一部电影的 li 标签。接下来,我们遍历每一部电影,使用正则表达式或者 BeautifulSoup 库提取电影的上映年份和导演信息,并打印输出。
希望这个示例代码对您有所帮助!
使用python爬取豆瓣top250数据的代码
以下是使用 Python 爬取豆瓣 Top250 数据的代码:
```python
import requests
from bs4 import BeautifulSoup
# 请求 URL
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/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
list_movies = soup.find_all('div', class_='item')
for movie in list_movies:
# 电影名称
name = movie.find('span', class_='title').text
# 导演演员信息
bd = movie.find('div', class_='bd')
# 导演
director = bd.p.text.replace('\n', '').split(' ')[0]
# 演员表
actors = bd.p.text.replace('\n', '').split(' ')[1].replace('\xa0', '')
# 评分
score = movie.find('span', class_='rating_num').text
# 短评数量
quote = movie.find('span', class_='inq').text if movie.find('span', class_='inq') else ''
print('电影名称:{}\n导演:{}\n演员:{}\n评分:{}\n短评:{}\n'.format(name, director, actors, score, quote))
```
这个脚本发送了一个 GET 请求,然后使用 BeautifulSoup 库来解析 HTML。最后,它循环遍历 Top250 列表并打印出每个电影的名称,导演,演员,评分和短评。注意,为了访问豆瓣网站,我们需要在请求头中添加 User-Agent,以避免被封禁。
阅读全文
相关推荐















