꧁༺溟ི༒娘ོ༻꧂ 2022-04-17 19:49 采纳率: 100%
浏览 274
已结题

python爬小说,正文怎么都换不了行,怎么办?

python爬小说,爬出来的正文怎么都不能换行,都是凑一起的,而且最后还提示IndexError: list index out of range。有大佬可以帮忙看看吗?

import requests
from bs4 import BeautifulSoup
import os
path = r'D:\pythonProject2\ '
passage = 0
url = "https://m.dijiubook.net/70_70151/25290272.html"
endurl = "https://m.dijiubook.net/70_70151/25290272.html"
head = {}
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0'}
while True:
    r = requests.get(url, headers=head)
    r.encoding = r.apparent_encoding
    soup = BeautifulSoup(r.text, "html.parser")
    #标题
    title = soup.select("#nr_title")[0].get_text()
    #正文
    text = soup.select("#neirong")[0].get_text()
    with open(path + "《传说之异世双尊》by 冰糖莲子羹.txt", 'a', encoding='utf-8') as f:
        f.write("\r\n")
        for i in title:
            f.write(i)
        f.write('\r\n')
        for x in text:
            f.write(x)
        f.write('\r\n')

    passage+=0
    #if(url==endurl):
        #break
    nexturl = "https://m.dijiubook.net" + soup.select("#pb_next")[0]['href']
    url = nexturl
    print(title+text)
os.system("pause")

img

Traceback (most recent call last):
  File "D:\pythonProject2\小时.py", line 30, in <module>
    nexturl = "https://m.dijiubook.net" + soup.select("#pb_next")[0]['href']
IndexError: list index out of range

  • 写回答

1条回答 默认 最新

  • 陈年椰子 2022-04-18 09:11
    关注

    1、 你的 循环 没有退出的语句, 没有页数,就出错了。

    2、正文不换行的问题
    改一下代码

    for x in text:
        f.write(x)
        f.write('\r\n')
    
    # 改成
    for x in text:
        f.write("{}\n".format(x))
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月17日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备