通过Python下载 www.jingcaiyuedu.com 中的小说。
首先需要使用Python中的 requests和re 库

import requests
import re
url="http://www.jingcaiyuedu.com/book/37402.html"
#给浏览器发送器请求
response=requests.get(url)
#编码方式
response.encoding="utf-8"
#目标网页
html=response.text

通过requests.get()给浏览器发送请求将网页内容存入response中,再通过 .encoding 改变编码方式。之后将目标页面改为text方式存再html中。
再这前面我们以及把网页内容存在本地页面了。现在只需要通过正则表达式获取我们需要的内容,代码如下:

dl=re.findall(r'<dl class="panel-body panel-chapterlist">.*?</dl>',html,re.S)[1]
chapter_dd=re.findall(r'href="(.*?)">(.*?)</a>',dl,re.S)

使用 re.findall()方法进行正则匹配 .*?(.*?)进行贪婪匹配,将内容存到变量中。
通过使用贪婪匹配存储网页中标签中包含的内容。

【re.findall()具体使用详情:
https://www.cnblogs.com/xieshengsen/p/6727064.html

前面的使用 re.findall()方法进行正则匹配后将小说章节名字以及小说理解以队列的形式存在了 chapter_dd中 现在使用for循环将小说下载到本地。再使用text.replace() 方法对小说下载好的内容进行清洗,去除不必要的字符。

for chapter in chapter_dd:
    chapter_url,chapter_title=chapter
    chapter_url="http://www.jingcaiyuedu.com%s"%chapter_url
    # print(chapter_title,chapter_url)
    chapter_response = requests.get(chapter_url)
    chapter_response.encoding="utf-8"
    chapter_html=chapter_response.text
    text=re.findall(r'<div class="panel-body" id="htmlContent">(.*?)</div>',chapter_html,re.S)[0]
    text=text.replace('<br>','').replace('<br />', '').replace('</p>', '').replace('<p>', '')
    fb.write(chapter_title)
    fb.write(text)
    fb.write('\n')
    print(chapter_title)

完整代码如下:

import requests
import re
url="http://www.jingcaiyuedu.com/book/37402.html"
#给浏览器发送器请求
response=requests.get(url)
#编码方式
response.encoding="utf-8"
#目标网页
html=response.text
# print(html)
title=re.findall(r'<meta property="og:title" content="(.*?)"/>',html)
# print(title)
fb=open('%s.txt'%title[0],'w',encoding='utf-8')
dl=re.findall(r'<dl class="panel-body panel-chapterlist">.*?</dl>',html,re.S)[1]
print(dl)
print()
chapter_dd=re.findall(r'href="(.*?)">(.*?)</a>',dl,re.S)
print(chapter_dd)
# print(chapter_dd)
chapter_url='http://www.jingcaiyuedu.com%s'
for chapter in chapter_dd:
    chapter_url,chapter_title=chapter
    chapter_url="http://www.jingcaiyuedu.com%s"%chapter_url
    # print(chapter_title,chapter_url)
    chapter_response = requests.get(chapter_url)
    chapter_response.encoding="utf-8"
    chapter_html=chapter_response.text
    text=re.findall(r'<div class="panel-body" id="htmlContent">(.*?)</div>',chapter_html,re.S)[0]
    text=text.replace('<br>','').replace('<br />', '').replace('</p>', '').replace('<p>', '')
    fb.write(chapter_title)
    fb.write(text)
    fb.write('\n')
    print(chapter_title)

以上内容纯属个人见解,如有错误,望指正。谢谢