' STR'对象没有属性' p'使用beautifulsoup

时间:2016-11-28 12:26:44

标签: python beautifulsoup web-crawler python-3.5

我一直在关注使用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)

1 个答案:

答案 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)