Python+Wordpress制作小说站

我用Python和Wordpress建了一个小说站。

下面主要讲一讲搭建过程中所用的技术。主要分为以下几个部分:

  1. Wordpress主题的选取
  2. 小说内容的完善
  3. 站点的部署
  4. 微信公众平台的搭建

1、Wordpress主题的选取

由于自己对php代码编写不是非常熟悉,直接编写网站很可能会遇到各种安全漏洞。对比目前比较流行的博客框架wordpress、joomla、drupal,最终还是选择受众比较广的wordpress。之后选取了一套小说模板,就这么上马啦~~

2、小说内容的完善

2.1 数据的抓取

作为小说站,最主要的还是小说内容。传统市场上比较流行的小说采集插件存在各种短板,凭借自己数据抓取的特长,对数个小说站点采取定向抓取。细分了数十个字段,采用MongoDB数据库存储,并且实现判重,防止重复抓取。

2.2 内容的上传

由于采用的wordpress框架,内容上传自然少不了经典的wordpress库文件—wordpress_xmlrpc,采用wordpress_xmlrpc实现小说文章内容,标签的上传。但是,该库还是存在着局限性。对于文章分类各个类目的输入未免鸡肋。于是,自己模拟wordpress,自动post目录的各字段,自动分类。同时小说信息的输入post的信息巨多,单纯采用模拟登陆post的字段太多,最终考虑从MySQL数据库直接插入相关数据实现更新。总结而言就是三个更新方式:

  • wordpress_xmlrpc模块上传
  • python模拟后台登录主动上传
  • 直接更新MySQL数据库相关内容实现前端更新

3、站点的部署

站点采用阿里云的CentOS服务器,对于不太熟悉Linux系统的我,采用了wdcp控制面板实现wordpress站点部署。这段不再赘述。

4、微信公众平台的搭建

微信公众平台采用Linux服务器+Flask+MySQL部署,暂时仅仅实现了输入关键词查找数据库的小说名称,图文返回小说的名称及链接,实现微信随时随地看小说。

利用Python搭建微信公众平台的具体方法步骤,可参看之前的专栏文章:利用Python开发微信公众平台。

如此,便实现小说站点的搭建。其实,上述方法不只局限于此类站点的搭建,比如淘宝客站点搭建,娱乐站点的搭建等等都适用,接下来就靠大家来挖掘啦~

这个小说站点是我练手的一个小项目,现主要是我个人使用,如果有侵权问题,请及时联系我,我会及时删除相关内容。

时间: 2017-04-13

用python写的一个wordpress的采集程序

在学习python的过程中,经过不断的尝试及努力,终于完成了第一个像样的python程序,虽然还有很多需要优化的地方,但是目前基本上实现了我所要求的功能,先贴一下程序代码: 具体代码如下: #! /usr/bin/python import os,urllib2,re,time,MySQLdb,sys reTitle = re.compile('<font[^>]*>(.*?)<\/font><font[^>]*') reNeiron = re.compile('

Python实现爬取逐浪小说的方法

本文实例讲述了Python实现爬取逐浪小说的方法.分享给大家供大家参考.具体分析如下: 本人喜欢在网上看小说,一直使用的是小说下载阅读器,可以自动从网上下载想看的小说到本地,比较方便.最近在学习Python的爬虫,受此启发,突然就想到写一个爬取小说内容的脚本玩玩.于是,通过在逐浪上面分析源代码,找出结构特点之后,写了一个可以爬取逐浪上小说内容的脚本. 具体实现功能如下:输入小说目录页的url之后,脚本会自动分析目录页,提取小说的章节名和章节链接地址.然后再从章节链接地址逐个提取章节内容.现阶段只

编写Python脚本抓取网络小说来制作自己的阅读器

你是否苦恼于网上无法下载的"小说在线阅读"内容?或是某些文章的内容让你很有收藏的冲动,却找不到一个下载的链接?是不是有种自己写个程序把全部搞定的冲动?是不是学了 python,想要找点东西大展拳脚,告诉别人"哥可是很牛逼的!"?那就让我们开始吧! 哈哈~     好吧,我就是最近写 Yii 写多了,想找点东西调剂一下.... = = 本项目以研究为目的,所有版权问题我们都是站在作者的一边,以看盗版小说为目的的读者们请自行面壁!     说了这么多,我们要做的就是把小

Python制作爬虫采集小说

开发工具:python3.4 操作系统:win8 主要功能:去指定小说网页爬小说目录,按章节保存到本地,并将爬过的网页保存到本地配置文件. 被爬网站:http://www.cishuge.com/ 小说名称:灵棺夜行 代码出处:本人亲自码的 import urllib.request import http.cookiejar import socket import time import re timeout = 20 socket.setdefaulttimeout(timeout) sl

Python实现的飞速中文网小说下载脚本

1.JavaScript 加密什么的最讨厌了 :-( 1).eval 一个不依赖外部变量的函数立即调用很天真,看我 nodejs 来干掉你! 2).HTTP 请求的验证首先尝试 Referer,「小甜饼」没有想像中的那么重要. 3).curl 和各命令行工具处理起文本很顺手呢 4).但是 Python 也没多几行呢 2.Requests效率比 lxml 自己那个好太多 3.progressbar太先进了,我还是自个儿写吧-- 4.argparse写 Python 命令行程序必备啊- 5.stri

利用python生成一个导出数据库的bat脚本文件的方法

实例如下: # 环境: python3.x def getExportDbSql(db, index): # 获取导出一个数据库实例的sql语句 sql = 'mysqldump -u%s -p%s -h%s -P%d --default-character-set=utf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql' %(db['user'], db['pwd'], db['host'], db['port'], index, db['serv

Python实现删除当前目录下除当前脚本以外的文件和文件夹实例

本文实例讲述了Python实现删除当前目录下除当前脚本以外的文件和文件夹.分享给大家供大家参考.具体如下: import os,sys import shutil cur_file = os.path.basename(sys.argv[0]) dir_content = [x for x in os.listdir(".") if x != cur_file] for f in dir_content: if os.path.isdir(f): shutil.rmtree(f) el

详解python实现读取邮件数据并下载附件的实例

详解python实现读取邮件数据并下载附件的实例 实现结果图: 实现代码: #!/usr/bin/python2.7 # _*_ coding: utf-8 _*_ """ @Author: MarkLiu """ import poplib import email from email.parser import Parser from email.header import decode_header from email.utils im

Python使用urllib2模块实现断点续传下载的方法

本文实例讲述了Python使用urllib2模块实现断点续传下载的方法.分享给大家供大家参考.具体分析如下: 在使用HTTP协议进行下载的时候只需要在头上设置一下Range的范围就可以进行断点续传下载,当然,首先服务器需要支持断点续传. 利用Python的urllib2模块完成断点续传下载的例子: #!/usr/bin/python # -*- coding: UTF-8 -* ''' Created on 2013-04-15 Created by RobinTang A demo for R

Python实现115网盘自动下载的方法

本文实例讲述了Python实现115网盘自动下载的方法.分享给大家供大家参考.具体实现方法如下: 实例中的1.txt,是网页http://bbs.pediy.com/showthread.php?t=144788另存为1.txt 通过每3秒钟复制一个下载链接到粘贴板,复制时会自动调用115客户端下载,每下载10个文件会手工输入一个字符,防止一下下载太多,卡死机器 具体代码如下: import re, os, time import webbrowser import urllib if __na

python操作ssh实现服务器日志下载的方法

本文实例讲述了python操作ssh实现服务器日志下载的方法.分享给大家供大家参考.具体实现方法如下: #coding:utf-8 """ ssh操作例子 实现了服务器日志下载 2012-08-24 yywolf """ import paramiko import time hostname="????" port=22 username="app" password="????" i

Python实现过滤单个Android程序日志脚本分享

在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据.Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于是自己写了一个python的脚本来通过包名来过滤某一程序的日志. 原理 通过包名得到对应的进程ID(可能多个),然后使用adb logcat 过滤进程ID即可得到对应程序的日志. 源码 复制代码 代码如下: #!/usr/bin/env python #coding:utf-8 #This script is aimed to grep

Python编写简单的HTML页面合并脚本

最近写一个BootStrap页面...因为功能需要所以决定一个页面解决所有问题,然后用jQuery来动态显示功能....然而这样做的话页面会相当庞大,一堆隐藏模态窗口和功能div都堆在一起看起来挺难受的 然后想了下就用Python写了个小脚本用来支持<include>标签,用处是合并外部html文件,来强行分文件编写单个庞大的HTML页面 用了下感觉挺好用的,分享给大家 使用方法: HTML中使用<include src="">标签来导入其他HTML代码.支持嵌

Python中MySQL数据迁移到MongoDB脚本的方法

MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. MongoDB是一个文档数据库,在存储小文件方面存在天然优势.随着业务求的变化,需要将线上MySQL数据库中的行记录,导入到MongoDB中文档记录. 一.场景:线上MySQL数据库某表迁移到MongoDB,字段无变化. 二.Python