我用Python实现了一个小说网站雏形

 

前言

前段时间做了一个爬取妹子套图的小功能,小伙伴们似乎很有兴趣,为了还特意组建了一个Python兴趣学习小组,来一起学习。十个python九个爬,在大家的印象中好像Python只能做爬虫。然而并非如此,Python 也可以做Web开发,接下来给大家展示一下如何做一个小说站点。

相关软件

软件 版本 功能 地址
Python 3.7.1 脚本语言 https://www.python.org/
Django 2.1.3 Web框架 https://www.djangoproject.com/
PyCharm 2018.2.4 可视化开发工具 http://www.jetbrains.com/pycharm/

环境搭建说明:

http://www.runoob.com/python3/python3-install.html

爬取数据

做一个小说网站,内容是必须的,首先我们爬取一本小说《星辰变》到数据库。

创建一个简单的数据库表:

CREATE TABLE `novel` (    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',    `title` varchar(100) NOT NULL COMMENT '标题',    `content` text NOT NULL COMMENT '内容',    PRIMARY KEY (`id`)  ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

安装数据库驱动以及连接池:

# 数据库驱动 pip install pymysql # 数据库连接池 pip install DBUtils

代码实现:

# -*- coding: UTF-8 -*- # 导入requests库 import requests # 导入文件操作库  import codecs from bs4 import BeautifulSoup import sys import mysql_DBUtils from mysql_DBUtils import MyPymysqlPool import importlib importlib.reload(sys)   # 给请求指定一个请求头来模拟chrome浏览器 headers = {     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'} server = 'http://www.biquge.cm' # 星辰变地址 book = 'http://www.biquge.cm/2/2042/' # 定义DB mysql = MyPymysqlPool("dbMysql")   # 获取章节内容 def get_contents(chapter):     req = requests.get(url=chapter)     html = req.content     html_doc = str(html, 'gbk')     bf = BeautifulSoup(html_doc, 'html.parser')     texts = bf.find_all('div', id="content")     # 获取div标签id属性content的内容 \xa0 是不间断空白符       content = texts[0].text.replace('\xa0' * 4, '\n')     
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信