求一个python3爬虫代码,可以直接从小说网站复制小说正文,整合成新的正文。

从哪里?bs4?进口?美丽的声音

从哪里?请求.例外?进口?请求异常

进口?关于

进口?要求

进口?操作系统(Operating System)

def?get_html_text(url):

尝试:

r?=?请求. get(url)

r.raise_for_status()

回归?r .文本

除了?请求异常:

回归?没有人

def?获取_章节_名称(html):

汤?=?BeautifulSoup(html,?lxml’)

charpter?=?soup.select('。BG’)

charpter _ names?=?[]

为了什么?入门?在?charpter[1:]:

charpter_name?=?re . find all(& lt;h2 & gt(.*?)& lt/H2 & gt;',?str(条目))

文件名?=?re . find all(& lt;答?href。*?& gt(.*?)& lt/a & gt;',?str(条目))

如果?charpter_name?然后呢。文件名:

为了什么?名字?在?文件名:

名字?=?name.split('?'))[0]

char pter _ names . append(char pter _ name[0]?+?'_'?+?姓名)

否则:

及格

回归?集合(章节名称)

def?get_each_url(html):

汤?=?BeautifulSoup(html,?lxml’)

网址?=?soup.select('ul?李?a’)

为了什么?网址?在?URL:

链接?=?url.get('href ')

文字?=?url.text.split('?'))[0]

全名?=?url.text.replace('?'),'')

产量?{'url ':?链接,?文本':文本,'全名':全名}

打印(文本)

def?获取文本(url):

r?=?请求. get(url)

r .编码?=?r .表观_编码

汤?=?BeautifulSoup(r.text,?lxml’)

物品?=?soup.select('div.content-body ')

物品?=?re . find all(';(.*?);',?项目[0]。文字,?关于。s)

回归?项目[0]。编码()

def?保存到文件(url,文字,?全名):

base_dir?=?慕道的

路径?=?'{}\\{}\\{}'.format(os.getcwd(),?base_dir?正文)

如果?不是吗?os.path.exists(路径):

尝试:

os.makedirs(路径)

除了:

及格

尝试:

用什么?打开(路径?+'\\'+?全名?+'.' txt ',?WB’)?作为?女:

f.write(get_text(url))

除了:

及格

def?main():

网址?=?'/'

html?=?get_html_text(url)

章节?=?获取_章节_名称(html)

为了什么?章?在?章节:

为了什么?每个?在?get_each_url(html):

如果?每个['文本']?==?chapter.split('_')[-1]:

保存到文件(每个['url'],章节,每个['全名'])

如果?__name__?==?__main__ ':

主()