爬取虎扑NBA球员常规赛各项数据存储至MongoDB

本文讲述了作者利用requests库和正则表达式爬取虎扑网站上的NBA球员常规赛数据,并将数据存储到MongoDB的过程。内容包括确定爬取的数据项、解析页面结构、遍历多页数据以及代码实现和运行结果的展示。作者期待与读者交流学习。
摘要由CSDN通过智能技术生成

平时喜欢看球赛,十几年的詹密,五一放假(表示五一十天假期)在家闲着没事爬爬本赛季NBA球员常规赛数据。虎扑还是比较友好,页面比较简单,使用requests库和正则表达式就可以完成爬取了,哈哈。

首先看看要爬取哪些数据

这里写图片描述

这里写图片描述

找到数据在哪些标签里面

这里写图片描述

查看一共收录了几页的球员数据

这里写图片描述

代码

#spider程序
import re
import requests
from requests.exceptions import RequestException
from config import *
import pymongo

client = pymongo.MongoClient(MONGO_URL)
db = client[MONGO_DB]

#获取页面上html代码
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你可以按照以下步骤来实现: 1. 安装 pymongo 和 requests 库,使用以下命令进行安装: ``` pip install pymongo requests ``` 2. 打开 PyCharm,创建一个新的 Python 项目。 3. 在项目中创建一个名为 `spider.py` 的文件。 4. 导入所需的库: ```python import requests from bs4 import BeautifulSoup from pymongo import MongoClient ``` 5. 连接到 MongoDB 数据库: ```python client = MongoClient('mongodb://localhost:27017/') db = client['hupu'] collection = db['lakers'] ``` 6. 爬取湖人社区的标题和内容: ```python url = 'https://bbs.hupu.com/lakers' 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'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') titles = soup.select('.titlelink > a') for title in titles: href = title['href'] titleText = title.text contentResponse = requests.get(href, headers=headers) contentSoup = BeautifulSoup(contentResponse.text, 'html.parser') content = contentSoup.select('.quote-content') if len(content) > 0: contentText = content[0].text post = { 'title': titleText, 'content': contentText } collection.insert_one(post) ``` 7. 运行代码,爬取数据并将其导入到 MongoDB 数据库中。 完整代码如下: ```python import requests from bs4 import BeautifulSoup from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') db = client['hupu'] collection = db['lakers'] url = 'https://bbs.hupu.com/lakers' 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'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') titles = soup.select('.titlelink > a') for title in titles: href = title['href'] titleText = title.text contentResponse = requests.get(href, headers=headers) contentSoup = BeautifulSoup(contentResponse.text, 'html.parser') content = contentSoup.select('.quote-content') if len(content) > 0: contentText = content[0].text post = { 'title': titleText, 'content': contentText } collection.insert_one(post) ``` 注意:在运行代码之前,请确保你的 MongoDB 服务已经启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值