今天在使用Beautifulsoup解析某宝的网页代码时出现了这样的一幕:通过标签提取不到我想要的数据,然而我标签及其属性都没有写错。之后我对返回的源码进行了检查。
这是我通过检查元素看到的源码。
这是通过Beautifulsoup解析源码后得到的与上图对应部分的结果。
可以看到文本值为2023的span标签中的class值解析出来直接就没有了,而且解析的结果也很乱。
相应的解决方案就是在获取网络源码后,使用Beautifulsoup解析时需要在函数里加上from_encoding='utf-8’这个参数。具体代码是
bs = BeautifulSoup(response.text, 'html.parser', from_encoding='utf-8')
之后就可以正常地通过标签提取数据了。