今天在爬虫的时候,爬了二十条程序就莫名卡着不动了,还以为是被服务器禁止访问。还去加了user-agent池,随机获得user-agent构成headers,没想到居然是最后文件命名的时候出问题了。用于命名的字符串出现了非法的字符。网上查找资料,构造一个函数,通过正则表达式除去字符串中发非法字符:
import re
def validateTitle(title):
rstr = r"[\/\\\:\*\?\"\<\>\|]" # '/ \ : * ? " < > |'
new_title = re.sub(rstr, "_", title) # 替换为下划线
return new_title
成功解决问题!
参考: