python爬虫爬取虎扑湖人论坛专区帖子数据,并存入MongoDB数据库中

今天就带大家从头到尾一步一步带着大家爬取虎扑论坛帖子的数据,里面涉及到的一些知识,我会给出学习的连接,大家可以自行去学习查看。

前期准备

首先我们打开虎扑NBA论坛,我选择的是湖人专区(小湖迷一个)。虎扑湖人专区
我们需要爬取的数据有这些
在这里插入图片描述
好了 每一个小帖子我们需要爬取图中的这七个数据,接下来我们利用浏览器的开发者模型,查看我们需要的东西。

我举个例子:
首先打开浏览器的开发者模式,谷歌浏览器快捷键是F12
在这里插入图片描述
点击蓝色方框内的小箭头,点击后放在帖子主题上我们会定位到该主题所在的前端位置。

在这里插入图片描述
右侧蓝框内就是左边主题所在的位置,我们可以看到,这个主题是在 a 标签内部 同时又被b标签包括着。
这里,咱们需要注意一下,因为论坛的第一条帖子主题是加粗的,其他的帖子并没有加粗。
好了 我们可以将这条信息 写为 【帖子主题 |a class_truetit】

接着就是按照

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值