关于笔趣阁爬虫
于2024年测试,该盗版网站已无法访问
最近新学了xpath,就拿笔趣阁来练手了
可能有点杂乱
孩子正在努力学习并优化
现在来做个记录
做了单本的和多本的
目前就记录单本的
后期再全部同步
版本 | 同步 | 更新时间 | 注释 |
---|---|---|---|
单本 | ✔ | 2021.2.18 | ✘ |
---- | ---- | ---- | ---- |
多本 | ✘ | 未知 | ✘ |
单本
from lxml import etree
import requests
from bs4 import BeautifulSoup
# 小说地址(这里用了元尊的小说目录页面网址)
url = 'https://www.52bqg.net/book_103752/'
res = requests.get(url)
print('网页获取成功,解析中···')
ress = BeautifulSoup(res.text, 'lxml')
html = etree.HTML(str(ress))
result = html.xpath('//div[@class="box_con"]/div[@id="list"]/dl/dd')
num = 1
zuihou = []
shunxu = []
urltou = 'https://www.52bqg.net/book_103752/'
for i in result:
if num <= 12:
num = num + 1
zuihou.append(urltou + i.xpath('./a/@href')[0])
else:
if not (i.xpath('./a/@href')):
pass
else:
shunxu.append(urltou + i.xpath('./a/@href')[0])
for i in zuihou:
shunxu.append(i)
for url in shunxu:
res = requests.get(url)
ress = BeautifulSoup(res.text, 'lxml')
html = etree.HTML(str(ress))
# 小说标题
heading = '『{}』'.format((html.xpath('//h1/text()'))[0])
print(heading + '成功获取')
# 小说内容
txt = html.xpath('//div[@id="content"]/text()')
a = len(txt) # 66
if 'ps' in txt[a-1]:
num = a-2
else:
num = a-1
with open(heading, 'a', encoding='utf-8', newline='')as file:
for i in range(num):
# print(''.join(txt[1+i].split()))
file.write(''.join(txt[1+i].split()))
file.write('\n')
print('本章文本获取成功')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律