【问题标题】:Not getting exact text from BeautifulSoup没有从 BeautifulSoup 获得准确的文本
【发布时间】:2017-07-05 08:19:38
【问题描述】:

我正在尝试从 HTML 页面获取确切的文本,但输出文本与预期文本不同。

HTML 页面上的文本

Салнас 14

beautifulSoup 的文字展示

ĐĄĐ°ĐťĐ˝Đ°Ń 14

我的代码是

page = BeautifulSoup(url.read(),'html.parser')
page.find(id='tdo_11').text

div 的 HTML 检查代码

<td class="ads_opt" id="tdo_11" nowrap=""><b>Салнас 14</b></td>

我不明白是什么原因造成的? 我应该使用不同的解析器吗?

【问题讨论】:

  • 您是否尝试过更改文本编码?
  • 您需要找出页面使用的字符编码,例如UTF8。
  • 对我来说这似乎是一个编码问题。您是否尝试过使用页面使用的字符编码对文本进行编码?
  • 你能给我们页面的URL吗?

标签: python beautifulsoup html-parser


【解决方案1】:

使用requests 库来发出HTTP 请求,由于许多原因,它比Python 内置的要好得多。它会自动、智能地处理编码。

import requests
response = requests.get('https://www.ss.lv/msg/ru/real-estate/flats/riga/plyavnieki/onlol.html')
page = BeautifulSoup(response.text, 'html.parser')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-14
    • 2018-11-26
    • 1970-01-01
    • 2022-10-19
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多