BeautifulSoup 两次调用 Soup (.text)

BeautifulSoup call Soup twice (.text)

我正在过滤一个包含 table 的网页内容,我用粗体文本解析该行,然后在那里获取 a 标签。

response = urllib2.urlopen("https://wiki.guildwars.com/wiki/Weekly_activities")
data = response.read()
soup = BeautifulSoup(data, 'html.parser')
dailiesunsorted = soup.findAll('tr', style="font-weight: bold;")
pvebonus = dailiesunsorted[0].findAll('a')[0]
pvpbonus = dailiesunsorted[0].findAll('a')[1]
nickitem = dailiesunsorted[0].findAll('a')[2]
nicklocation = dailiesunsorted[0].findAll('a')[3]
nickmap = dailiesunsorted[0].findAll('a')[4]

#not working when adding this line, but the line does what I want it to
nickcount = nickitem = dailiesunsorted[0].findAll('a')[2].next_sibling

pvebonus = "["+pvebonus.text+"](https://wiki.guildwars.com"+quote(pvebonus['href'])+")"
pvpbonus = "["+pvpbonus.text+"](https://wiki.guildwars.com"+quote(pvpbonus['href'])+")"
nickitem = "["+nickitem.text+"](https://wiki.guildwars.com"+quote(nickitem['href'])+")"
nicklocation = "["+nicklocation.text+"](https://wiki.guildwars.com"+quote(nicklocation['href'])+")"
nickmap = "["+nickmap.text+"](https://wiki.guildwars.com"+quote(nickmap['href'])+")"
return pvebonus, pvpbonus, nickitem, nicklocation, nickmap, nickcount.strip()

在我添加注释行之前,该代码运行完美并完成了预期的工作。 现在我得到这个错误:

  File "/home/jens/gelbbot/gwhttp.py", line 42, in weeklies
  nickitem = "["+nickitem.text+"](https://wiki.guildwars.com"+quote(nickitem['href'])+")"
  File "/usr/lib/python3.6/site-packages/bs4/element.py", line 737, in 
  __getattr__
  self.__class__.__name__, attr))
  AttributeError: 'NavigableString' object has no attribute 'text'

我似乎无法使用 findAll('a')[2] 两次,但如何解决? .copy() 不起作用

这是语法错误。

nickcount = nickitem = dailiesunsorted[0].findAll('a')[2].next_sibling

应该是

nickcount = dailiesunsorted[0].findAll('a')[2].next_sibling

nickitem = dailiesunsorted[0].findAll('a')[2].next_sibling