我决定从谷歌接收有关感染者的数据,但事实并非如此。虽然他们在页面上有 UTF-8 编码,但显然这并不完全正确。我什至不知道该怎么办。编码,解码不同已经尝试过。在线编码器都产生不同的编码,有些甚至拒绝检测文本编码。这是我的代码,也许我做错了什么。
headers = {"User-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0"}
page_link = "https://google.com/covid19-map/?hl=ru"
page_response = requests.get(page_link, headers = headers)
print(page_response.content)
page_content = BeautifulSoup(page_response.content, "lxml")
content_table = page_content.find("table",{"class": "SAGQRd"})
tbody = content_table.find("tbody")
content = tbody.findAll("tr")
for i in content:
sub_content = i.findAll("td")
a = 0
while a < 5:
if a == 0:
print("\n\n" + str(sub_content[a].find("span")))
else:
newtext = (sub_content[a].getText()).replace(chr(160), ",")
print(newtext)
a = a + 1
问题最常出现在跨度块中(2gis 站点上的情况相同)
问题出在我自己没想到的地方。我使用 git bash 运行文件,那里的默认编码不同。如果您通过 powershell 或在 linux 中运行,那么一切都很好。这种情况下也不需要处理nbsp,所以需要代码
也消失了