数据抽取主要有以下几种方式
方式一、request 包
rs 模块的正则匹配
符号( .)表示重复零次或多次
符号( ?)表示重复零次或一次
符号( {n})表示重复n次
符号( .*) 表示贪婪匹配
符号( .*?) 表示惰性匹配
单独获取正则中的内容给分组起名字,如上图中 (?P.*?)
异常处理
1)错误信息:request() got an unexpected keyword argument ‘header’
处理方案:request 模块关键字是 headers,检查写的是否正确
2)错误信息:ValueError: I/O operation on closed file.
处理方案:代码语法未对齐,在for循环执行完毕,才关闭IO流
3)错误代码:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xf6’ in position 30: illegal multibyte sequence
处理方案:执行编码方式,即 f = open(“data.csv”, mode=“w”,encoding=“utf-8”)