爬取虎扑前十部动漫评分的python代码并导入momongodb的
时间: 2024-12-29 18:33:23 浏览: 9
爬取虎扑(hupu.com)上动漫评分的Python代码通常会涉及网络请求、HTML解析以及MongoDB的数据存储。这里是一个简化的示例,我们假设已经安装了`requests`, `BeautifulSoup4`, 和 `pymongo` 库:
```python
import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
# 第一步:设置请求头和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'
}
url = "https://www.hupu.com/anime/top"
# 第二步:发送GET请求
response = requests.get(url, headers=headers)
# 第三步:解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
anime_list = soup.find('div', class_='list')
# 假设评分信息在每个动漫卡片的<a>标签内,找到前十个
top_ten_ratings = anime_list.find_all('a')[:10]
# 第四步:模拟数据结构并存储到MongoDB
client = MongoClient('mongodb://localhost:27017/')
db = client['my_database']
anime_collection = db['anime_ratings']
for i, anime in enumerate(top_ten_ratings):
title = anime.text.strip()
rating_element = anime.find_next_sibling('span', class_='rating') # 假设评分在相邻的<span>
try:
rating = float(rating_element.text)
except ValueError:
rating = None # 如果找不到评分,处理异常
data = {'title': title, 'rating': rating, 'source': 'Hupu'}
anime_collection.insert_one(data)
# 提示:实际的网页结构可能会变化,你需要根据当前页面的具体HTML调整查找元素的部分。
阅读全文