Python爬虫实战-猫眼电影Top100
本帖最后由 学习编程中的Ben 于 2023-5-28 20:38 编辑Python爬虫实战-猫眼电影Top100
一、简介
今天我们来分享一下如何使用Python爬虫,获取猫眼电影Top100的信息!我们将会使用requests库发送HTTP请求,并使用BeautifulSoup库解析HTML页面来提取所需信息,并将结果存储在列表中。
二、步骤
1. 发送HTTP请求
在这里,我们将使用requests库发送HTTP请求。我们需要设置请求头来模拟真实用户访问,以避免被网站屏蔽。
import requests
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'
}
url = 'https://maoyan.com/board/4'
res = requests.get(url, headers=headers)
2. 解析HTML页面
使用BeautifulSoup库解析HTML页面,获取需要的信息。我们可以使用Chrome浏览器的开发者工具来查看页面的元素和属性,以方便我们编写爬虫代码。
from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text, 'html.parser')
items = soup.select('.board-wrapper dd')
3. 提取所需信息
在这个例子中,我们将提取电影排名、电影名称、电影主演、电影上映时间和评分。我们将使用字典和列表来存储获取到的信息。
movies = []
for item in items:
movie = {}
movie['rank'] = item.select_one('.board-index').text
movie['title'] = item.select_one('.name a').text
movie['star'] = item.select('p.star').text.strip()
movie['time'] = item.select('p.releasetime').text.strip()
movie['score'] = item.select_one('.score .integer').text + item.select_one('.score .fraction').text
movies.append(movie)
4. 完整代码
import requests
from bs4 import BeautifulSoup
def get_movies():
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'
}
url = 'https://maoyan.com/board/4'
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
items = soup.select('.board-wrapper dd')
movies = []
for item in items:
movie = {}
movie['rank'] = item.select_one('.board-index').text
movie['title'] = item.select_one('.name a').text
movie['star'] = item.select('p.star').text.strip()
movie['time'] = item.select('p.releasetime').text.strip()
movie['score'] = item.select_one('.score .integer').text + item.select_one('.score .fraction').text
movies.append(movie)
return movies
三、注意事项
在爬虫过程中,应该遵守以下几点:
(1) 尊重网站规则,不进行非法操作。
我们应该爬取网站上开放的信息,不要将爬虫用于商业用途或者非法用途,以免对网站造成损失。
(2)避免频繁访问同一网站,防止IP被封禁。
在进行爬虫操作时,应该控制请求速度和访问频率,避免被网站屏蔽。可以通过设置headers来模拟真实用户访问,避免被认为是爬虫。
(3) 不要一次性获取过多数据,应该适量控制获取速度和频率。
在爬虫过程中,可以设置每次获取的信息条数,以便于控制访问的频率。
(4) 爬虫也需要维护,及时更新代码,以应对网站信息结构的变化。
网站信息会随着时间的推移而发生改变,我们需要定期检查爬虫代码,以确保其能够正确地获取信息!
备注:当然你想吃公家饭你可以试试违法{:10_256:}
@歌者文明清理员 @sfqxx @元豪 @liuhongrun2022
6 {:10_277:} 歌者文明清理员 发表于 2023-5-28 15:50
很有美感吧{:10_256:} 学习编程中的Ben 发表于 2023-5-28 15:50
很有美感吧
Yesir 先支持一下 liuhongrun2022 发表于 2023-5-28 15:53
先支持一下
{:10_297:} 泰裤辣
学习编程中的Ben 发表于 2023-5-28 15:53
我用我小号给你评个分 liuhongrun2022 发表于 2023-5-28 16:00
我用我小号给你评个分
6 你这代码没有缩进
页:
[1]