本文编写于 91 天前,最后修改于 12 天前,其中某些信息可能已经过时。

小说更新提示工具

好久没有写文章了,这次带来的是我自己写的小说更新提示工具。我原本是准备写一个小说内容的爬虫的,但是最近学校说要打击盗版,支持正版,因此我写了小说更新提示工具。废话不多说,上代码!

需求模块

  • requests(爬虫模块)

代码

# 导入爬虫模块,正则模块
import requests
import re
import time
# 询问小说名
book_name = input('请输入需要查询的小说名称:')
# 获取搜索页源代码
request = requests.get('https://www.biquge5200.cc/modules/article/search.php?searchkey=%s' % book_name)
request = request.text
# 清洗
book_url_list = re.findall(r'<td class="odd"><a href="(.*?)">',request)
x = 0
Len = len(book_url_list)
if Len >= 8:
    for m in range(8):
        book_request = requests.get(book_url_list[x])
        book_request = book_request.text
        book_name = re.findall(r'<meta property="og:title" content="(.*?)"/>',book_request)[0]
        book_number = re.findall(r'https://www.biquge5200.cc/(.*?)/',book_url_list[x])[0]
        book_author = re.findall(r'<meta property="og:novel:author" content="(.*?)"/>',book_request)[0]
        print('书名:%s  编号:%s  作者:%s' % (book_name,book_number,book_author))
        x += 1
else:
    for book_url_src in book_url_list:
        book_request = requests.get(book_url_src)
        book_request = book_request.text
        book_name = re.findall(r'<meta property="og:title" content="(.*?)"/>',book_request)[0]
        book_number = re.findall(r'https://www.biquge5200.cc/(.*?)/',book_url_src)[0]
        book_author = re.findall(r'<meta property="og:novel:author" content="(.*?)"/>',book_request)[0]
        print('书名:%s  编号:%s  作者:%s' % (book_name,book_number,book_author))
print('最多显示8个结果!')
# 用信息提示输入框输入一个统一资源定位符并放入一个变量
url = input('请输入你要监视更新的小说网址编号:') 
url = 'http://www.biquge5200.cc/%s' % url
# 模拟浏览器发送一个Http Get请求。
request = requests.get(url)
# 设置编码
request.encoding = 'gbk'
# 将网页源代码存入变量以方便清洗
html = request.text
# 获取小说名称
title = re.findall(r'<meta property="og:title" content="(.*?)"/>',html)[0]
# 将url_ord设置为空
url_old = ''
# 清洗网页内容
while True:
    request = requests.get(url)
    dl = re.findall(r'<dl>.*</dl>',html,re.S)[0]
    a = re.findall(r'<dd><a href="(.*?)">(.*?)</a></dd>',dl)
    # 获取每一章的链接和名称
    for book in a:
        book_url,book_title = book
        book_url = 'http://www.biquge5200.cc%s' % book_url
        '''你的通知装置'''
    if book_title != url_old:
        severjiang = requests.get(severjiang_url)
        url_old = book_title
        print('发现新内容,已向手机发送通知')
    else:
        print('没有新内容')
    time.sleep(30)

Server酱

通知装置我推荐使用Sever酱,他是一个简单的微信公众号通知工具,只需要一个Get请求就可以向手机发送通知,最主要的是他是一个开源项目!!!