爬取笔趣阁小说

您所在的位置:网站首页 python爬取小说课设 爬取笔趣阁小说

爬取笔趣阁小说

2023-03-12 08:45| 来源: 网络整理| 查看: 265

# encoding=utf-8import requestsimport parselimport osimport re

# 模拟接头,向爬取网址发送请求url1 = 'https://www.bqu99.com/'headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.188.400 QQBrowser/11.4.5226.400'}r1 = requests.get(url1, headers=headers)# print(r1)

# 获取网址内容并转换数据类型,通过xpath获取页面上全部小说的网址selector1 = parsel.Selector(r1.text)lst = selector1.xpath("//div[@class='item']/dl/dt/a").getall()

# 爬取相应小说标题t = re.search('(.*?)', lst[3])title = t.group(2) # 爬取《重生之不负韶华》

# 拼接得到需要爬取的小说的网址,发送请求。url2 = url1 + t.group(1)r2 = requests.get(url2, headers=headers)

# 通过正则表达式,获取含有全部章节的网址和对应标题tc = re.findall('(.*?)', r2.text)

# 创建路径path = f'D:/Pycharm/z_爬取整部小说/{title}//' # 需要自己创建“z_爬取整部小说”的文件夹if not os.path.exists(path): os.mkdir(path)

try: # 循环遍历所有章节并保存 for i in tc: # 拼接获取每一章文本内容的网址及小说标题 url3 = 'https://www.bqu99.com' + i[0] name = i[1] # 发送请求 r3 = requests.get(url3, headers=headers) # 获取单一章节的文本数据 data1 = re.search('(.*?)', r3.text) # 请求第一行文本 data2 = re.findall(" (.*?)", r3.text) # 请求其余行文本 # 进行保存 with open(path + f'{name}.txt', mode='a+') as f: # 保存第一行文本 f.write(data1.group(1)) f.write('\n\n') # 空行 # 保存其余行文本 for j in data2: f.write(' ') # 空格 f.write(j) f.write('\n\n') # 空行 print(name)except: print('已终止!')



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3