为了账号安全,请及时绑定邮箱和手机立即绑定

不晓得错哪了。。。说是有什么中文字符

from bs4 import BeautifulSoup
html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""

soup = BeautifulSoup(html_doc,'html,parser', from_encoding='utf_8')
print('获取所有连接')links = soup.find_all('a')
for link in links:    
    print(link.name, link['href'], link.get_text())

#报错

SyntaxError: Non-UTF-8 code starting with '\xbb' in file C:\Users\未来人类\Desktop\imooc\test\test_bs4.py on line 18, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

正在回答

5 回答

line 14:将'html,parser' 更改成'html.parser' ,你将参数敲错了,正确值是html.parser

0 回复 有任何疑惑可以回复我~

在代码最前面加上#coding=utf-8

同时,把soup = BeautifulSoup(html_doc,'html,parser', from_encoding='utf_8')替换成soup = BeautifulSoup(html_doc,'html,parser')

再试试?

0 回复 有任何疑惑可以回复我~

在代码最前面加上# coding:utf8

0 回复 有任何疑惑可以回复我~

1、你的utf-8写成了utf_8,不是下划线,所以会报你指定的编码没定义

2、加from_encoding参数会警告

warnings.warn("You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.")

,不影响输出结果,如果不想看这个警告的话,就把

soup = BeautifulSoup(html_doc, 'html.parser', from_encoding='utf-8')

改成

soup = BeautifulSoup(html_doc, 'html.parser')

https://img1.sycdn.imooc.com//5ce96fa00001eb3909330443.jpg

1 回复 有任何疑惑可以回复我~

可以试试把print('获取所有链接')中的中文翻译成英文

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

不晓得错哪了。。。说是有什么中文字符

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信