Greasy Fork is available in English.

[可能失效]番茄全文在线免费读

番茄小说免费网页阅读 不用客户端 可下载小说

< Feedback on [可能失效]番茄全文在线免费读

Question/comment

§
Posted: 12.09.2024

#以下是我自己写的一个爬虫,是python写的,需要自己用vs或者IDLE 复制进去稍微改点东西,但是都很简单,不需要调用API
import requests
import parsel
session = requests.Session()
模拟浏览器的请求头,伪装成浏览器用户,避免被网站拦截
headers = {
'Cookie':'Hm_lvt_f004e3d6881c9bbc22260590c5ca64c0=1722404769,1722478787,1722561517; night=0; fontFamily=null; fontColor=%23555555; fontSize=null; bg=%23FFFFFF; Hm_lvt_85c4583d6af9953074d3952066f146b7=1725516600,1725547679,1725589568,1725783654; Hm_lpvt_85c4583d6af9953074d3952066f146b7=1725789404; HMACCOUNT=10D333D2DA55BFD5',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0' #Cookie和User-Agent需要根据实际情况在自己浏览器中找到然后复制到''里面
}
发送请求,获取网页内容
from parsel import Selector
url_0 = 'https://www.lakanshu.cc/book/205604/' #(这里我用的是拉看书,本来爬的是番茄,但是我没有会员,太麻烦了就重新写了个拉看书的,里面我目前想看的书都有,后面我想看的找不到了再写别的网站的,或者留言给我我空了可以帮你们写一下)url_0 = '这里面加入你在拉看书里面搜索到的小说上面的网址(看不懂的话把https://www.lakanshu.cc/book/205604/复制进浏览器看看就知道了)'
response_0 = requests.get(url=url_0, headers=headers)
html_0 = response_0.text
selector = Selector(html_0)
options = selector.css('select[name="pageselect"] option::attr(value)').getall()
for value in options:
abc = value
url = 'https://www.lakanshu.cc'+abc #构造完整的章节url
response = requests.get(url=url, headers=headers)
html = response.text
提取小说名称、章节标题和链接
selector = parsel.Selector(html)
name = selector.css('.top h1::text').get()
title_list = selector.xpath('//h2[@class="layout-tit" and contains(text(), "《技能永久没冷却,阁下如何应对?》正文")]/following-sibling::*[1]/ul/li/a/text()').getall()# 这里的格式为——《在拉看书里面搜到的你想看的小说的名字》正文(一定得是全称,不能少不能多)替换到对应的“”里面
href = selector.xpath('//h2[@class="layout-tit" and contains(text(), "《技能永久没冷却,阁下如何应对?》正文")]/following-sibling::*[1]/ul/li/a/@href').getall() # 这里同上

for title, link in zip(title_list, href):
link_url = 'https://www.lakanshu.cc' + link # 构造完整的章节URL
link_data = requests.get(url=link_url, headers=headers).text # 请求章节URL并获取内容
# print(link_data) #检查获取的link_data文件是否正常
# content_length = len(link_data)
# print(f"长度: {content_length}")
link_selector = parsel.Selector(link_data)
content_list = link_selector.css('.reader-main p::text').getall() # 提取章节文本内容
# content_length = len(content_list)
# print(f"长度: {content_length}")

content_str = '\n'.join(content_list)

print(title) # 打印章节标题
print(link_url) # 打印章节url
# print(novel_content) # 打印解码后的章节内容
# 写入文件,并保存爬取内容
with open('F:/桌面'+ name + '.txt', mode='a', encoding='utf-8') as f: #这里‘F:/桌面’需要改成你自己想要保存的位置
f.write('\n')
f.write(title)
f.write('\n')
f.write(content_str)
f.write('\n')

§
Posted: 12.09.2024

刚刚发现发的代码这里面没有缩进,发了一张图,自己看着改一下缩进(这个是必须的)

Post reply

Sign in to post a reply.