python爬取小说存储至Mysql并用 django框架做了搜索呈现界面【爬虫-mysql阶段】

本文介绍了使用Python的bs4和正则表达式爬取笔下文学网上的玄幻、武侠、都市、历史四类小说信息,包括书名、作者、简介等六项数据,并存储到MySQL数据库。在爬取过程中,遇到HTTP连接错误和数据库主键冲突问题,通过设置请求超时、捕获异常和调整数据库设计来解决。接下来将利用Django框架构建搜索界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:pycharm3.6 mysql django
爬虫解析方式:bs4 +正则

爬取小说的网站: 笔下文学网 https://www.bxwxorg.com/
需求:获取玄幻、武侠、都市、历史 四类所有小说的信息 ,包括6个字段(book_id,小说名,小说作者,小说简介,小说最近更新时间,小说海报)

一、分析uirl:
在这里插入图片描述
点击进入玄幻类,发现共有50页 ,每页30本小说,点击第二页 url发生变化:
在这里插入图片描述
通过页数传递了参数 ,再来分析源代码
在这里插入图片描述
然后再随便打开了一本小说 分析源代码 :
在这里插入图片描述
发现是通过传递这本书的book_id 获取这本书的具体信息 ,于是要获得4个类的所有小说的信息,那么前提是要获得所有小说的book_id,再用book_id来逐个获取需要字段的信息。

二、爬虫代码实现
2.1 几次探索发现 所有类(玄幻、武侠等)的小说的第一页存储小说的class id == 和后面的n页是不相同的,这意味着第一页和后面的response不能用一种方法来解析,所以我先处理了所有小说类的第一页 ,然后在同时处理其他类的n页。
spider代码如下:

import requests
import re
import bs4
import time
import random
import pymysql

#打印报错url日志
def log_error(url):
    error_list=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值