将HTML标签中的属性更改以查看完整内容 Python BeautifulSoup

8

我正在尝试查看网站fortune.com/best-companies的全部内容。 原始代码中的脚本具有以下标签:

<nav id="bottom-panel-pagination" class="panel-pagination hasNextOnly">
    <div data-event="view left" class="prev-page icon-new-left-arrow"></div>
    <div data-event="view right" class="next-page icon-new-right-arrow"></div>
</nav>

我想使用BeautifulSoup将类属性"panel-pagination hasNextOnly"更改为"panel-pagination hasNoPagination"。我的Python代码如下:
import urllib2
from bs4 import BeautifulSoup
quote_page = "http://fortune.com/best-companies/"
page = urllib2.urlopen(quote_page)
soup = BeautifulSoup(page, "html.parser")
fullpage = soup.find('nav', attrs = {'class' : 'panel-pagination hasNextOnly'})
print fullpage

我想将attrs = {'class' : 'panel-pagination hasNextOnly'}更改为attrs = {'class' : 'panel-pagination hasNoPagination'},该网站应在此之后重新加载,以便我可以进一步进行爬取。我该怎么做?请帮忙。
1个回答

15

Beautifulsoup提供了修改属性的功能...

soup.find('nav')['attribute'] = 'new-attribute-values'


对于你的情况。

fullpage = soup.find('nav', attrs = {'class' : 'panel-pagination hasNextOnly'})
fullpage['class'] = 'panel-pagination hasNoPagination'
print (fullpage)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接