在本文中,我们将使用 Python 编写一个简单的爬虫程序,来爬取指定豆瓣电影的主演名字。具体来说,我们将以电影《肖申克的救赎》为例,爬取该电影的主演名字。
准备工作
在编写爬虫之前,我们需要先安装并导入必要的 Python 库。本文中我们将使用 requests
和 BeautifulSoup
两个库。如果你还没有安装这些库,可以使用以下命令进行安装:
pip install requests
pip install beautifulsoup4
安装完成之后,我们就可以开始编写代码了。
编写代码
下面是爬虫程序的完整代码:
import requests
from bs4 import BeautifulSoup
def get_cast_names(url1):
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.57'
}
# 发送请求获取网页内容
response = requests.get(url1, headers=headers)
# 使用 BeautifulSoup 解析网页内容
soup = BeautifulSoup(response.text, "html.parser")
# 查找主演信息所在的标签
cast_section = soup.find_all("span", class_="attrs")
# 提取主演名字
cast_names1 = []
if cast_section:
for i in range(0, len(cast_section)):
for cast_link in cast_section[i].find_all("a"):
cast_names1.append(cast_link.get_text())
return cast_names1
# 要爬取的豆瓣电影链接
url = "https://movie.douban.com/subject/1292052/"
# 调用函数获取主演名字列表
cast_names = get_cast_names(url)
# 打印主演名字列表
for name in cast_names:
print(name)
这段代码首先定义了一个 get_cast_names
函数,用来爬取指定电影的主演名字。在函数中,我们使用 requests
库发送请求,然后使用 BeautifulSoup
解析网页内容,找到包含主演信息的标签,并提取主演名字。最后,我们返回主演名字列表。
在主程序中,我们将指定要爬取的电影链接,然后调用 get_cast_names
函数获取主演名字列表,并打印出来。
值得注意的是,我们在发送请求时添加了一个 headers
参数,用来模拟浏览器访问,这样能够避免被目标网站发现我们是一个爬虫程序而被封禁 IP。
运行程序
将上述代码保存到一个名为 douban_spider.py
的文件中,并运行该文件,就可以看到输出结果了。输出结果如下:
总结
在本文中,我们学习了如何使用 Python 爬取指定豆瓣电影的主演名字。具体来说,我们使用了 requests
和 BeautifulSoup
两个库,通过解析网页内容提取主演名字。这只是爬虫程序的一个示例,你可以根据自己的需求,编写更加复杂的爬虫程序。