50字范文,内容丰富有趣,生活中的好帮手!
50字范文 > python爬取最新说章节_练习_Python3 爬取笔趣阁最新小说章节

python爬取最新说章节_练习_Python3 爬取笔趣阁最新小说章节

时间:2022-04-09 06:35:05

相关推荐

python爬取最新说章节_练习_Python3 爬取笔趣阁最新小说章节

警告:本文代码仅供学习,禁止违法使用或商用。

这里拿人气小说《黎明之剑》来举个栗子,喜欢小说《黎明之剑》的朋友们请支持正版阅读。

笔趣阁网站上的其他书籍基本上的都可以套用,其他盗版网站也基本上是差不多的思路就可以解决。

稍微改改就能很轻松的通过小说目录页下载全本,我这里就懒得弄了,有兴趣的朋友可以试一试。

# -*- coding:UTF-8 -*-

# 作者博客:/Raine/

# -06-20

import requests

from bs4 import BeautifulSoup

class TheLatest(object):

# 测试爬取笔趣阁《黎明之剑》最新章节

def __init__(self):

self.url_dir = '/book/36438/'

self.bookname = "" # 存放书籍名

self.chaptername = "" # 存放章节名

self.url_latest = "" # 存放最新章节链接

self.get_download_url()

def get_download_url(self):

# 直接从网页head标签内获取想要的内容

r1 = requests.get(self.url_dir)

# 网页是GBK编码,需要转换

r1.encoding = 'GBK'

html_1 = r1.text

bs_div = BeautifulSoup(html_1, 'lxml')

# 找到需要用到的标签然后提取属性

_bookname = bs_div.find('meta', property="og:novel:book_name")

self.bookname = _bookname.get('content')

_chaptername = bs_div.find('meta', property='og:novel:latest_chapter_name')

self.chaptername = _chaptername.get('content')

_url_latest = bs_div.find('meta', property='og:novel:latest_chapter_url')

self.url_latest = _url_latest.get('content')

def get_content(self):

r2 = requests.get(self.url_latest)

r2.encoding = 'GBK'

html_content = r2.text

bs_div = BeautifulSoup(html_content, 'lxml')

txt = bs_div.find('div', 'showtxt')

# 优化文字排版

txt = txt.text.replace('', '\n')

txt = txt.replace('�6�1', '·')

out_content = txt.split(self.url_latest)[0]

return out_content

if __name__ == '__main__':

txt_content = TheLatest()

filename = txt_content.bookname + txt_content.chaptername + '.txt'

with open(filename, 'w', encoding='utf-8') as f:

f.write(txt_content.get_content())

参考资料:

Python3网络爬虫快速入门实战解析:/blog//10/spider_tutorial_1.html

Python——爬虫【Requests设置请求头Headers】:/ysblogs/article/details/88530124

Python3.x爬虫教程:爬网页、爬图片、自动登录 :/Evankaka/article/details/46849095

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。