我用python打开一个网页 并且打印 前面有个b是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用python打开一个网页 并且打印 前面有个b是怎么回事?相关的知识,希望对你有一定的参考价值。

就是用a=urllib.request.urlopen("...")打开一个网页 然后print(a) 前面总有一个b是怎么回事?

因为你用的python的版本是3.X,网页内容是二进制的,你需要进行decode, 一般中文的网页编码是GBK或UTF8.这样就可以了a=urllib.request.urlopen("...").decode("utf8")或a=urllib.request.urlopen("...").decode("gbk") 参考技术A 你应该用
a=urllib.urlopen("...")
a.read(),我用你的代码都没有返回,直接报错了
参考技术B Solution 1:
use `requests` instead of `urllib`
Solution 2:
print(a.decode())
参考技术C 少了一个.read()
也就是:a = urllib.request.urlopen("...").read().decode('utf8')
这样就可以正常输出,不乱码了
参考技术D 出现b因为网页是utf-8编码的,你需要用utf-8解码才能得到最正确的格式
试试这样
import urllib.request
a=urllib.request.urlopen('http://xxxxxxx').read().decode('UTF-8','strict') #后面decode是py3中的解码
print (a)

怎么让 dom4j 添加的节点 在最前面``而不是最后面吗~

比如现在有个xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<s>ss</s>
<s>ss</s>
</books>
然后我用这段代码添加一个节点<test></test>
Document document = saxReader.read(new File("d:/text.xml"));
Element root = document.getRootElement();
Element test = root.addElement("test");
xml文件变成了
<?xml version="1.0" encoding="UTF-8"?>
<books>
<s>ss</s>
<s>ss</s>
<test></test></books>

它是添加到了最后```请问如何添加在最开始

参考技术A SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File("d:/text.xml"));
Element root = document.getRootElement();
List list = root.content();
Element e = DocumentHelper.createElement("test");
list.add(0, e);
FileWriter fw = new FileWriter(new File("d:/text.xml"));
XMLWriter output = new XMLWriter(fw);
output.write(document);
output.close();

以上是关于我用python打开一个网页 并且打印 前面有个b是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

有个网站别人都能打开,我的电脑却打不开

C# WinForm中,如何判断窗口已打开

怎么让 dom4j 添加的节点 在最前面``而不是最后面吗~

3D可以打开.dae文件吗?

我用的是IE8浏览器,但每次都是打开网页时候总会出现一个对话框,然后就页面就死机了

Python爬虫:什么是静态网页(数据),什么是动态网页(数据)