import requests
import re
import parsel
import os # 文件操作模块
from time import sleep
list_url='https://www.23wx.cc/du/54/54202/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0'
}
response = requests.get(list_url,headers = headers)
response.encoding = 'gbk'
href = re.findall('<a href="(.*?)">.*?</a></dd>',response.text) #存在response.text里
# print(href)
name = re.findall('<meta name="og:novel:book_name" content="(.*?)" />',response.text)[0] #小说名字
print(name)
#提取herf列表里的每个元素
i = 0
max = 100
for index in href:
index_url = 'https://www.23wx.cc/du/54/54202/'+index
# print(index_url)
response = requests.get(index_url)
response.encoding = 'gbk'
#print(response.text)
selector = parsel.Selector(response.text) # response.text 字符串数据 转成可解析的对象
title = selector.css('#wrapper > div.content_read > div > div.bookname > h1::text').get()
#print(title)
content_list = selector.css('#content::text').getall()
content = ''.join(content_list)
#print(content)
# 自动创建路径
filename = f'{name}\\'
if not os.path.exists(filename):
os.mkdir(filename)
with open(f'{filename}\\{title}.txt',mode="a",encoding='utf-8') as f: # 保存到文件
f.writelines(title)
f.writelines(content)
i+=1
print("正在保存:\t",title,i)
for i in (range(max)):
print("█", end="", flush=True)
sleep(0.1)