如何阻止BeautifulSoup将HTML实体解码为符号

鲁尼尔

我正在尝试获取给定网站上的所有链接,但仍然遇到一些有关HTML实体的问题。这是我使用BeautifulSoup搜寻网站的代码:

from bs4 import BeautifulSoup
import requests
    .
    .

baseRequest = requests.get("https://www.example.com", SOME_HEADER_SETTINGS)
soup = BeautifulSoup(baseRequest.content, "html.parser")
pageLinks = []

for anchor in soup.findAll("a"):
    pageLinks.append(anchor["href"])
    .
    .

print(pageLinks)

看到这种元素,代码就会出现问题:

<a href="./page?id=123&sect=2">Link</a>

而不是打印["./page?id=123&sect=2"],它将&sect零件视为HTML实体并将其显示在控制台中:

["./page?id=123§=2"]

有防止这种情况的解决方案吗?

牧师加德

这是一个

from bs4 import BeautifulSoup

soup = BeautifulSoup('<a href="./page?id=123&sect=2">Link</a>', "html.parser")
pageLinks = []

for anchor in soup.findAll("a"):
    pageLinks.append(anchor["href"])


uncoded = ''.join(i for i in pageLinks).encode('utf-8')
decoded = ''.join(map(lambda x: chr(ord(x)),''.join(i for i in pageLinks)))
print('uncoded =',uncoded)
print('decoded =',decoded)

输出

uncoded = b'./page?id=123\xc2\xa7=2'
decoded = ./page?id=123§=2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将HTML实体解码为Unicode

来自分类Dev

iOS将HTML实体解码为字符串

来自分类Dev

将&符号解码为正常

来自分类Dev

Tampermonkey,Chrome,如何将 html 实体改回符号?

来自分类Dev

如何将 UTF-8 解码为 HTML 标签

来自分类Dev

HTMLParser和BeautifulSoup无法正确解码HTML实体

来自分类Dev

如何在Spark中解码HTML实体?

来自分类Dev

如何解码php中的html实体?

来自分类Dev

如何在Spark中解码HTML实体?

来自分类Dev

将符号转换为HTML实体

来自分类Dev

如何使用 BeautifulSoup 将平面 HTML 结构解析为字典?

来自分类Dev

解码HTML实体

来自分类Dev

HTML实体解码Java

来自分类Dev

HTML实体解码Java

来自分类Dev

html实体解码角度

来自分类Dev

如何将 JQuery 响应数据 (Html.ActionLink) 解码为 HTML 表格元素?

来自分类Dev

将Flask中的JSON传递到模板并解码html实体

来自分类Dev

如何将json解码为结构

来自分类Dev

如何在PHP中解码HTML引用实体

来自分类Dev

如何在Swift 2.0中解码HTML实体?

来自分类Dev

jQuery解码html实体&micro;

来自分类Dev

html实体/特殊字符解码

来自分类Dev

如何阻止Apache解码URL

来自分类Dev

将HTML实体转换为Python表情符号

来自分类Dev

将重音符号转换为HTML实体的工具?

来自分类Dev

将HTML实体转换为Python表情符号

来自分类Dev

将 HTML 符号代码显示为代码,而不是符号

来自分类Dev

将BeautifulSoup NavigableString转换为使用html实体

来自分类Dev

使用angularjs $ sanitize将字符解码为html