小编use*_*774的帖子

将Web数据传递到Beautiful Soup - 空列表

我已经重新检查了我的代码并查看了打开URL以将Web数据传递到Beautiful Soup的类似操作,由于某些原因我的代码只是没有返回任何内容,尽管它的格式正确:

>>> from bs4 import BeautifulSoup

>>> from urllib3 import poolmanager

>>> connectBuilder = poolmanager.PoolManager()

>>> content = connectBuilder.urlopen('GET', 'http://www.crummy.com/software/BeautifulSoup/')

>>> content
<urllib3.response.HTTPResponse object at 0x00000000032EC390>

>>> soup = BeautifulSoup(content)

>>> soup.title
>>> soup.title.name
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'name'
>>> soup.p
>>> soup.get_text()
''

>>> content.data
a stream of data follows...
Run Code Online (Sandbox Code Playgroud)

如图所示,很明显urlopen()返回一个由变量内容捕获的HTTP响应,它可以读取响应的状态,但是在它被传递到Beautiful Soup后,Web数据不会被转换成为一个美丽的汤对象(可变汤).你可以看到我试图读取一些标签和文本,get_text()返回一个空列表,这很奇怪.

奇怪的是,当我通过content.data访问网络数据时,数据显示但由于我不能使用Beautiful Soup来解析它,所以它没有用.我的问题是什么?谢谢.

python beautifulsoup web-content web-scraping urllib3

6
推荐指数
2
解决办法
1万
查看次数