细节
第三方库出错时
- 建议安装Miniconda
数据库操作
- 在插入数据时可以保持传入插入id一直为0,这样id就可以自己增长。
yield
- 使用yield可节约内存,提升性能。
zip()
- 将两个迭代对象中一一对应的元素结合成多个元组,返回一个列表
- 其中对应关系需注意,实际爬虫可能会缺少元素,导致对应关系错误。
积累函数
time.strftime格式化当前时间
re.match和re.search的区别
- re.match 从字符串的开头位置进行匹配,而 re.search 会在整个字符串中搜索匹配项。由于你的正则表达式在字符串 ‘10abc’ 的起始位置没有找到完全匹配,所以 re.match 返回 None。
retrying
- 装饰器的作用,允许该代码重试n次
- timeout报错同样也可以重试
字典转json
- json.dumps()
- ensure_ascii=False
- indent=4