Sitio web de resúmenes de películas - Descarga de música - Buscando un código de rastreador python3 que pueda copiar directamente el texto de la novela desde el sitio web de la novela e integrarlo en un nuevo texto

Buscando un código de rastreador python3 que pueda copiar directamente el texto de la novela desde el sitio web de la novela e integrarlo en un nuevo texto

de?bs4?import?BeautifulSoup

de?requests.exceptions?import?RequestException

importar?re

importar?requests

importar?os

def?get_html_text(url):

intenta:

r?=?requests.get(url)

r.raise_for_status()

retorno?r.text

excepto?RequestException:

retorno?Ninguno

def?get_chapter_names(html):

sopa?=?BeautifulSoup(html,?'lxml')

charpter?=?soup.select('.bg')

nombres_charpter?=?[]

for?entry?in?charpter[1:]:

nombre_charpter?=?re.findall('lt;h2gt ;(.*?)lt;/h2gt;',?str(entry))

nombre_archivo?=?re.findall('lt;a?href.*?gt;(.*?) lt;/agt;',?str(entry))

if?charpter_name?and?file_name:

for?name?in?file_name:

nombre?=?nombre.split('?')[0]

charpter_names.append(charpter_name[0]? ?'_'? ?nombre)

más:

pasar

return?set(charpter_names)

def?get_each_url(html):

sopa?=?BeautifulSoup(html,?' lxml')

urls?=?soup.select('ul?li?a')

para?url?in?urls:

enlace? =?url.get('href')

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

nombre_completo?=?url.text.replace ('?', '')

rendimiento?{'url': ?enlace, ?'texto': ?texto, 'nombre_completo': nombre_completo}

imprimir(texto)

def?get_text(url):

r?=?requests.get(url)

r.encoding?=?r.apparent_encoding

sopa?=?BeautifulSoup(r.text,?'lxml')

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

item ?

=?re.findall(';(.*?);',?items[0].text,?re.S)

return?item[0].encode()

def?save_to_file(url,?text,?full_name):

base_dir?=?'daomu'

ruta?=?'{}\\{}\\ {}'.format(os.getcwd(),?base_dir,?text)

si?not?os.path.exists(ruta):

prueba:

os.makedirs(ruta)

excepto:

pasar

intentar:

con?open(ruta? ' \\' ?full_name? '.txt', ?'wb')?as?f:

f.write(get_text(url))

excepto:

contraseña

def?main():

url?=?'/'

html?=?get_html_text(url)

¿capítulos?=?get_chapter_names(html)

para?capítulo?en?capítulos:

para?cada?en?get_each_url(html):

if?cada['texto']?==?chapter.split('_')[-1]:

guardar_en_archivo(cada['url'], capítulo, cada['nombre_completo'] )

if?__name__?==?'__main__':

main()