我一直在关注使用BeautifulSoup的教程,但是当我尝试阅读标题甚至段落(使用soup.p)时,我收到错误消息," Traceback(最近一次调用最后一次): 文件" ***** / Tutorial1.py",第9行,in pTag = soup.p AttributeError:' str'对象没有属性' p'"
我仍然是Python的新手,很抱歉如果这些问题太容易了,但我会非常感谢任何帮助。代码如下:
import urllib.request
from bs4 import BeautifulSoup
with urllib.request.urlopen('http://www.bbc.co.uk/sport/0/netball/33717953') as response:
page = response.read()
soup = BeautifulSoup(page, "html5lib")
soup = soup.prettify()
pTag = soup.p
print(pTag)
答案 0 :(得分:2)
引用Beautiful Soup Documentation
使用prettify()方法将Beautiful Soup解析树转换为格式良好的 Unicode字符串,每个HTML / XML标记都在其自己的行上。
您可以在此处将字符串设置为soup
var:soup = soup.prettify()
。当然字符串没有p
属性,然后崩溃。
查找所有p
s:
...
page = response.read()
soup = BeautifulSoup(page, "html5lib")
for paragraph in soup.find_all('p'):
do_something_with(paragraph)