记录一下python写爬虫必须要注意的几个点

因为好久没写过爬虫了,这次单位有需求要爬取几TB的资料,在测试过程中遇到一些问题,总结下来,未来写爬虫的时候可以避坑。

问题1:JSON Object Key不存在。规范的情况下,返回的JSON对象数组应该是统一的,即使数据不存在也应该是空字符串或者null或者别的什么,但是这个系统过于老旧,编码也乱七八糟不规范,导致个别数据不存在的时候,压根不返回这个Key。

解决方案:

if 'key' not in item:
    continue

只需要判断一下这个key在不在item里,不在直接跳出此循环。

 

问题2:保存的文件名/路径有非法字符。在Windows下,创建的文件夹/文件时,文件名不能包含以下字符:

 \ / : * ? " < > |

因此,如果文件名/路径名中有此些字符,需要替换掉,这里提供一个替换方法:

def string_format(str: string, replacement: string=''):
    illegal_words = ['\\', '/', '*', '?' '"', '<', '>', '|']
    for word in illegal_words:
        if word in str:
            str = str.replace(word, replacement)
    return str

参数说明:str 要格式化的字符串,replacement 将非法字符替换成指定内容,不填写则替换空字符串。

版权声明:
作者:zjh4473
链接:https://blog.zixutech.cn/?p=762
来源:紫旭Blog
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>