python爬虫中的mongo实践

目标

  1. 获取全本小说网的小说封面
  2. 保存封面图片到mongo数据库中
  3. 记录封面图片对应的小说信息

分析

  1. 本次使用requests作为http请求工具
  2. 获取小说封面的方式采用爬虫分类型、分页爬去小说封面地址
  3. 向图片的原地址发送http的get请求,获取response的content就是图片的二进制数据了
  4. 本次存储图片的方式并采用系统自带的文件系统,而是使用mongodb的GridFS
  5. 将步骤3中的content数据put到gridfs中获取文件id
  6. 从步骤2中获取小说的名称等信息,与步骤5中的id做映射,保存到novel集合集中
    注:步骤6在是可以将小说的其他信息一同保存至gridfs的files集合中的,使用方法会在代码中进行注释

示例

import requests
from bs4 import BeautifulSoup
import pymongo
import gridfs
import time

# 获取mongoClient对象
client = pymongo.MongoClient("localhost", 27017)
# 获取使用的database对象
db = client.test
# 获取图片存储集合
fs = gridfs.GridFS(db, "images")


def save_pic_to_disk():
    """
    将数据库中文件转存到本地文件系统
    :return: 无
    """
    fss = fs.find()
    for fl in fss:
        print(fl.md5)
        tp_file = open('d:/img/' + fl.md5 + '.jpg', 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值