所以我使用的是使用bs4的robobrowser。当我尝试从字符串中剥离标记时,我得到下面描述的错误。如果我注释掉i.strip("</b>")
,那么我可以轻松打印带有标签的字符串列表。可能的欺骗:TypeError: 'NoneType' object is not callable, BeautifulSoup
from robobrowser import RoboBrowser as r
browser = r(history=False)
browser.open('http://mp3skull.com/')
usrsearch = "a-ha" #input('Search for music: ')
searchform = browser.get_form(action="/search_db.php")
searchform['q'].value = usrsearch
browser.submit_form(searchform)
songs = browser.select('b')
for i in songs:
print(i.strip("</b>"))
错误:
line 13, in <module>
i.strip("</b>")
TypeError: 'NoneType' object is not callable
答案 0 :(得分:0)
您可以使用encode_contents()将标记内容作为字节字符串获取,而不使用标记本身。
from robobrowser import RoboBrowser as r
browser = r(history=False)
browser.open('http://mp3skull.com/')
usrsearch = "a-ha" #input('Search for music: ')
searchform = browser.get_form(action="/search_db.php")
searchform['q'].value = usrsearch
browser.submit_form(searchform)
songs = browser.select('b')
for i in songs:
print(i.encode_contents())
我无法找到有关official documentation中所有BeautifulSoup4标记属性和方法的信息。但是,我确实发现this page列出了有关属性和方法的更多信息。