Python爬虫:获取漫画作品标签、年限及封面图
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()
代码说明:
- 利用
requests库发送HTTP请求,获取目标网页的HTML内容。 - 使用
BeautifulSoup解析HTML,方便提取所需数据。 - 通过观察网页结构,使用
find和find_all方法定位到包含漫画标题、评分、标签、年限和封面图链接的HTML元素。 - 提取数据后,将信息存储到字典中,并将所有漫画信息添加到一个列表中。
- 最后,将数据保存到文本文件中,方便后续使用。
请注意:
- 在实际应用中,您需要根据目标网站的结构调整代码中的CSS选择器,才能正确提取数据。
- 爬取网站数据时,请务必遵守robots.txt协议,避免对目标网站造成过大负担。
希望本文能帮助您入门Python爬虫,并成功获取到所需的漫画信息!
原文地址: https://www.cveoy.top/t/topic/byh6 著作权归作者所有。请勿转载和采集!