BS4爬取小说内容

人盡茶涼 提交于 2020-01-20 00:26:28

利用Beautiful Soup4和requests库来爬取小说内容:
使用bs4的CSS选择器时要根据对应网页的标签内容而定。

# *-* coding:utf-8 *-*
# 爬取 落霞小说网-<余庆年>
from bs4 import BeautifulSoup
import requests
html = requests.get('https://www.luoxia.com/qing/')
soup = BeautifulSoup(html.text, 'html.parser')
chapters = soup.select("div ul li a")
count = 0
for chapter in chapters:
    print(chapter.string)
    count += 1
    if 5 == count:          # 爬取5章
        break
    novel = requests.get(chapter['href'])               # 获得对应章节的html代码
    newSoup = BeautifulSoup(novel.text, 'html.parser')
    with open('novel.txt', 'a+', encoding='utf-8') as f:
        print(chapter.string + '\n', file=f)
        words = newSoup.select("div#nr1 p")             # 爬取小说文本
        for word in words:
            if word.string != None:         # 如果有内容才写入文件
                print(word.string, file=f)
        print('-------------------------------------\n', file=f)

部分输出:
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!