我已經颳了一個論壇頁面,我已將所有帖子保存在名爲post_list的列表中。但它似乎的,我不能再往前走,找到文章作者:刮<span>使用BeautifulSoup的標記文本沒有文字屬性
以下是我在運行命令的,但不嘗試查找的文本得到:
for post in post_list:
print post.findAll("span" , {"itemprop" : "name"})
這給予的我:
[<span class="hide" itemprop="name">00Amin</span>]
[<span class="hide" itemprop="name">arminheidari</span>]
[<span class="hide" itemprop="name">Zapad</span>]
[<span class="hide" itemprop="name">iMosi</span>]
[<span class="hide" itemprop="name">arminheidari</span>]
[<span class="hide" itemprop="name">alen</span>]
[<span class="hide" itemprop="name">mahdavi3d</span>]
[<span class="hide" itemprop="name">arminheidari</span>]
[<span class="hide" itemprop="name">alen</span>]
[<span class="hide" itemprop="name">rezatizi</span>]
[<span class="hide" itemprop="name">Trooper</span>]
[<span class="hide" itemprop="name">rasoolmr</span>]
[<span class="hide" itemprop="name">arminheidari</span>]
[<span class="hide" itemprop="name">iMosi</span>]
[<span class="hide" itemprop="name">anybody</span>]
但是,如果我試圖用的.text相同的代碼:
for post in post_list:
print post.findAll("span" , {"itemprop" : "name"}).text
我得到:
AttributeError: 'ResultSet' object has no attribute 'text'
如果我欺騙並將for循環結果保存在變量(或列表)中,然後嘗試從那裏獲取文本,我又失敗了!
posts = []
for post in post_list:
posts.append(post.findAll("span", {"itemprop" : "name"}))
我沒有錯誤,但我不能再次找到
我已搜查任何的.text屬性和測試其他一些問題的,我有發現,但他們沒有工作。
,因爲它不是'.text'但'.string',根據文檔? – spectras
不,它也沒有.string屬性... – senaps
@spectras BS元素中都有'text'和'string'。問題是,'findAll()'以ResultSet'的形式返回多個元素,它沒有'text'或'string' – har07