我正在尝试获取给定网站上的所有链接,但仍然遇到一些有关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§=2">Link</a>
而不是打印["./page?id=123§=2"]
,它将§
零件视为HTML实体并将其显示在控制台中:
["./page?id=123§=2"]
有防止这种情况的解决方案吗?
这是一个
from bs4 import BeautifulSoup
soup = BeautifulSoup('<a href="./page?id=123§=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] 删除。
我来说两句