gpt4 book ai didi

python - 为什么当我使用 beautifulsoup 抓取 HTML 中的字符串时它们不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 17:53:02 24 4
gpt4 key购买 nike

我想使用 beautifulsoup 工具在 HTML 中抓取倾斜字符串“The Dormouse's Story”。

#!/usr/bin/python
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
html_doc = """
<html>

<head>
<title>The Dormouse's story</title>
</head>

<body>
<p class="title"><b>The Dormouse's story</b>
</p>

<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>; and they lived at the bottom of a well.</p>

<p class="story">...</p>

"""
soup = BeautifulSoup(html_doc)
print soup.title.string

我使用Python2.7.9 IDE,错误描述为

Traceback (most recent call last):
File "C:/Python27/Scripts/test.py", line 23, in <module>
print soup.title.string
File "C:\Python27\lib\idlelib\PyShell.py", line 1353, in write
s = unicode.__getslice__(s, None, None)
TypeError: an integer is required

如何解决这个问题,是否需要更改变量的类型?

最佳答案

当您使用“运行模块”命令运行脚本时,这是 IDLE 中的一个错误;解决方法是在对象上使用 unicode():

print unicode(soup.title.string)

该问题是由 issue 19481 的错误修复引起的;我怀疑 unicode.__getslice__ 方法已被清理和/或从未支持使用 None 作为索引,至少在 Python 2 中是这样。

我打开了new bug on IDLE对于这个问题。

关于python - 为什么当我使用 beautifulsoup 抓取 HTML 中的字符串时它们不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28849615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com