Ответы пользователя по тегу Парсинг
  • Как спарсить текст(новеллы с сайтов) в тхт?

    @SunUp
    Я не волшебник, я ещё только учусь
    Простых готовых решений для парсинга нет, есть только библиотеки для различных ЯП. Поэтому ответ на вопрос "Как спарсить текст?" звучит так: написать парсер для этого сайта, например такой, как написал вчера я на Python, или найти того кто напишет.
    from bs4 import BeautifulSoup
    import requests
    import time
    
    
    base_url = 'http://gravitytales.com/novel/the-lords-empire/tle-chapter-'
    last_chapter = 500
    
    def get_html(url):
      html = requests.get(url)
      if html.status_code == 200:
        html.encoding = 'utf-8'
        return html.text
      else:
        print('Status code {0}'.format(html.status_code))
        return ''
    
    def parse(html):
      text = ''
      soup = BeautifulSoup(html, 'lxml')
      title_tag = soup.find('title').get_text()
      title = title_tag.split('-')[1].strip()
      title = title + '\n\n'
      paragraphs = soup.find('div', class_='innerContent').find_all('p')[3:]
      for paragraph in paragraphs:
        text += paragraph.get_text() + '\n'
      return [title, text]
    
    def write(title, text):
      with open('novel.txt', 'a') as file:
        file.write(title)
        file.write(text)
      print(title[:-2] + ' was downloaded successfully!')
    
    def main():
      with open('novel.txt', 'w') as file:
        file.write('')
      for index in range(0, last_chapter+1):
        html = get_html(base_url + str(index))
        if html != '':
          title, chapter = parse(html)
          write(title, chapter)
        time.sleep(1)
    
    
    if __name__ == '__main__':
      main()
    Ответ написан
    Комментировать