Python爬虫:获取漫画作品标签、年限及封面图

想要获取漫画网站上的作品标签、出版年份以及封面图片信息?本文将为您提供一个基于Python的爬虫解决方案,利用BeautifulSoup库解析网页内容,提取所需数据。

以下代码示例演示了如何从一个示例漫画网站(https://bgm.tv/anime/browser/airtime/2022)爬取信息:

import requests
from 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')

    # 创建一个空列表,用于保存漫画信息
    manga_list = []

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

        # 提取漫画的标签
        tags = manga.find_all('span', class_='grey')

        # 提取漫画的年限
        year = tags[0].text.strip()

        # 提取封面图链接
        cover_img = manga.find('img')['src']

        # 将漫画信息添加到列表中
        manga_list.append({'标题': title, '评分': score, '标签': tags[1].text.strip(), '年限': year, '封面图链接': cover_img})

    # 将漫画信息保存到文件中
    with open('manga_rankings.txt', 'w', encoding='utf-8') as file:
        for manga in manga_list:
            file.write(f'漫画标题: {manga['标题']}
')
            file.write(f'漫画评分: {manga['评分']}
')
            file.write(f'漫画标签: {manga['标签']}
')
            file.write(f'漫画年限: {manga['年限']}
')
            file.write(f'封面图链接: {manga['封面图链接']}
')
            file.write('------------------
')

    print('数据保存成功!')

if __name__ == '__main__':
    main()

代码说明:

  1. 利用requests库发送HTTP请求,获取目标网页的HTML内容。
  2. 使用BeautifulSoup解析HTML,方便提取所需数据。
  3. 通过观察网页结构,使用findfind_all方法定位到包含漫画标题、评分、标签、年限和封面图链接的HTML元素。
  4. 提取数据后,将信息存储到字典中,并将所有漫画信息添加到一个列表中。
  5. 最后,将数据保存到文本文件中,方便后续使用。

请注意:

  • 在实际应用中,您需要根据目标网站的结构调整代码中的CSS选择器,才能正确提取数据。
  • 爬取网站数据时,请务必遵守robots.txt协议,避免对目标网站造成过大负担。

希望本文能帮助您入门Python爬虫,并成功获取到所需的漫画信息!


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

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