python爬虫问题类型


import re
for item in items:
    fn = re.sub(r'[?*\/|.:<>]', "", item['title'])#替换字符串中的匹配项
    with open(fn + '.txt', 'w', encoding='utf-8') as f:
        f.write('内容\n' + item['content'] + '\n\n\n')

代码通过 re.sub() 方法对标题文本进行处理,将其中可能影响文件名的特殊字符(包括 ?*/\|.:<>)替换为空字符串,从而得到合法的文件名。
使用 with open(fn + '.txt', 'w', encoding='utf-8') as f: 打开一个名为 fn.txt 的文件,并以写入模式打开。这里的 fn 是上一步处理后得到的文件名,.txt 是文件的扩展名。
紧接着通过 f.write() 方法将标题和内容写入到文件中,多个内容之间使用三个换行符分隔开。
当全部搜索结果遍历完成后,每个搜索结果 都会生成一个对应的 .txt 文件,每个文件中包含了该搜索结果的标题和内容。
所以说 会生成多个 txt 的原因是因为你的 items

以文章名作为文件的名称,要注意去掉操作系统中文件名不允许出现的字符==》【?*/|.:<>】,要不open代码会出错,所以用正则去掉【】里面的特殊字符,因为文章名可能包含这些字符。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632