Python是一种强大的编程语言,使用它可以方便处理大量数据,并且可以用在网络爬虫上。本文将介绍如何使用Python爬取小电影。
import requests
from bs4 import BeautifulSoup
# 定义一个函数,用于获取小电影的地址
def get_links(url):
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'}
# 使用requests库发送一个HTTP请求,获取网页内容
html = requests.get(url, headers=headers).text
# 使用BeautifulSoup库解析网页内容
soup = BeautifulSoup(html, 'lxml')
# 搜索所有class为j-r-list-c-img的元素
links = soup.find_all('a', class_='j-r-list-c-img')
# 将所有小电影的地址保存到一个列表中
movie_links = []
for link in links:
movie_links.append('http://www.budejie.com' + link['href'])
# 返回小电影的地址列表
return movie_links
# 调用get_links函数,获取小电影的地址列表
movie_links = get_links('http://www.budejie.com/video/')
# 输出小电影的地址
for link in movie_links:
print(link)
通过上述代码,我们可以获取到所有小电影的地址。接下来,就可以编写代码下载小电影。
import requests
# 定义一个函数,用于下载小电影
def download_movie(url):
# 获取小电影的二进制数据
movie = requests.get(url).content
# 将二进制数据保存为文件
with open(url.split('/')[-1], 'wb') as f:
f.write(movie)
# 调用download_movie函数,下载小电影
for link in movie_links:
download_movie(link)
通过上述代码,我们可以将所有小电影下载到本地。在实际应用中,需要进行一定的优化,比如添加异常处理、断点续传等功能。