无法在网上找到答案,所以这是我的第一个stackoverflow问题:)
使用 BeautifulSoup4 ,当我选择“xml”作为解析器时,我发现很难在URL中保留参数。任何解决方法?
e.g。
from bs4 import BeautifulSoup as BS
url = u'<li href="www.example.com/index.php?sky=blue&river=wide"> Hello World </li>'
BS(url, 'xml')
我得到了以下输出:
<?xml version="1.0" encoding="utf-8"?>
<li href="www.example.com/index.php?sky=blue=wide"> Hello World </li>
请注意,解析后的输出中缺少?river
。
仅供参考, bs4 ,BeautifulStoneSoup(url)
会产生相同的不良输出,因为它只是带有'xml'解析器的BeautifulSoup。但是, BeautifulSoup3 中的 BeautifulStoneSoup 不是问题。但我必须在我的项目中使用bs4。
对此有何修复?谢谢!
答案 0 :(得分:1)
那不是XML。要使它成为XML,它必须是:
<li href="www.example.com/index.php?sky=blue&river=wide">
你不能只是把一个&amp;进入一个属性并期望它起作用。