帮我用python写一个爬虫程序(电影下载),每个功能需要全面展示(封装成函数),可以粗略细节部分
时间: 2024-02-01 11:12:20 浏览: 19
好的,以下是一个简单的电影下载爬虫程序,使用 Python 语言和 requests 库,主要功能包括:
1. 搜索电影
2. 获取电影详情
3. 下载电影
程序中用到的网站是 btbook ,它提供了比较全面的电影资源。
```python
import requests
from bs4 import BeautifulSoup
import re
# 搜索电影
def search_movie(keyword):
url = "http://www.btbook.net/search/{}".format(keyword)
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
items = soup.select(".item")
results = []
for item in items:
title = item.select(".title")[0].text
size = item.select(".size")[0].text
magnet_link = item.select(".magnet")[0]["href"]
results.append({
"title": title,
"size": size,
"magnet_link": magnet_link
})
return results
# 获取电影详情
def get_movie_details(magnet_link):
response = requests.get(magnet_link)
soup = BeautifulSoup(response.content, "html.parser")
name = soup.select(".name")[0].text
info = soup.select(".info")[0].text
download_links = soup.select(".downlink a")
links = []
for link in download_links:
links.append(link["href"])
return {
"name": name,
"info": info,
"links": links
}
# 下载电影
def download_movie(link, file_path):
response = requests.get(link, stream=True)
with open(file_path, "wb") as f:
for chunk in response.iter_content(1024):
f.write(chunk)
# 测试
results = search_movie("复仇者联盟")
if results:
movie = results[0]
details = get_movie_details(movie["magnet_link"])
links = details["links"]
if links:
link = links[0]
download_movie(link, "avengers.mp4")
print("下载完成")
else:
print("没有下载链接")
else:
print("没有找到相关电影")
```
注:该程序只是一个简单的示例,实际使用中需要注意遵守法律法规,不要侵犯他人的版权。