Python爬虫:轻松获取Bangumi网站漫画排行榜数据

您是否想要使用Python自动获取Bangumi网站上的最新漫画排行榜信息?这篇教程将为您提供一个简单易懂的解决方案,帮助您使用Python和BeautifulSoup库轻松爬取Bangumi网站上的漫画标题和评分。

问题背景

您可能在尝试运行之前的代码示例时遇到了 Traceback (most recent call last): File 'D:\myproj\pythonProject6\44bs\001.py', line 239, in <module> main() 类似的错误信息。这是因为之前的代码示例中存在一些错误,导致程序无法正常运行。

解决方案

以下是更新后的代码,可以帮助您成功爬取Bangumi网站漫画排行榜:pythonimport requestsfrom bs4 import BeautifulSoup

def main(): # 定义目标URL url = 'https://bgm.tv/anime/browser/airtime/2022'

# 发送HTTP请求并获取页面内容    response = requests.get(url)    html = response.text

# 使用BeautifulSoup解析页面内容    soup = BeautifulSoup(html, 'html.parser')

# 找到漫画排行榜的父元素    rankings = soup.find('ul', class_='browserFull')

# 遍历排行榜中的每个漫画    for manga in rankings.find_all('li'):        # 提取漫画的标题和评分        title = manga.find('a', class_='l')['title']        score = manga.find('span', class_='rank')['title']

    # 打印漫画的标题和评分        print('漫画标题:', title)        print('漫画评分:', score)        print('------------------')

if name == 'main': main()

代码解释

  1. 首先,我们需要导入 requestsBeautifulSoup 库。2. 然后,定义目标URL,即Bangumi网站的漫画排行榜页面。3. 使用 requests.get() 函数发送HTTP请求并获取页面内容。4. 使用 BeautifulSoup 解析页面内容,并使用 find()find_all() 方法定位到包含漫画标题和评分的HTML元素。5. 最后,使用循环遍历所有漫画信息,并使用 print() 函数输出漫画标题和评分。

运行代码

将上述代码保存为一个Python脚本文件(例如:crawl_bangumi.py),并在终端中运行以下命令即可:bashpython crawl_bangumi.py

数据保存

如果您需要将获取的数据保存到文件或进行其他进一步的处理,例如数据清洗、分析和可视化,请告诉我您的具体需求,我将很乐意提供相应的帮助。


原文地址: https://www.cveoy.top/t/topic/byct 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录