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

需求模块

  • requests(爬虫模块)

    代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    # 导入爬虫模块,正则模块
    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)

Sever酱

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

 评论