簡體   English   中英

美麗的湯:findall和引用類

[英]Beautiful Soup: findall and quoted classes

我是一名新的python用戶,在BS問題上將我的頭撞在牆上。 我的目標頁面包含以下片段:

<div class=rbHeader>
<span role="heading" aria-level="3" class="ws_bold">
Experience Level</span>
</div>

<div class="  row  result" id="p_bc0437dce636c6f4" data-jk="bc0437dce636c6f4" itemscope itemtype="http://schema.org/JobPosting" data-tn-component="organicJob">

...

</div>

我將頁面解析如下:

   target = Soup(urllib.urlopen(url), "lxml") 

如果我跑步

targetElements = target.findAll('div', attrs={'class':'rbheader'})
print targetElements

我懂了

 [<div class="rbHeader">\n<span aria-level="3" class="ws_bold" role="heading">\nExperience Level</span>\n</div>]

但是如果我跑步

targetElements = target.findAll('div', attrs={'class':'  row  result'})
print targetElements

我得到

[]

無論我嘗試選擇哪個類(如果用引號引起來),都是如此。 我似乎只能找到引號之外的類。

任何幫助將不勝感激。

最佳瑞安

總是從所有類中刪除空格。

您只能上一堂課:

targetElements = target.findAll('div', attrs={'class':'row'})

...要么:

targetElements = target.findAll('div', attrs={'class':'result'})

如果您懷疑其中每一個都可能返回太多結果,則可以執行以下操作:

soup.select('div.row.result')

.... soup在哪里?

這是一個基於您的div的示例:

div_test='<div class=rbHeader><span role="heading" aria-level="3" class="ws_bold">Experience Level</span></div><div class="  row  result" id="p_bc0437dce636c6f4" data-jk="bc0437dce636c6f4" itemscope itemtype="http://schema.org/JobPosting" data-tn-component="organicJob"></div>'
target = bs4.BeautifulSoup(div_test,'html.parser')

1,類名區分大小寫,您的代碼

targetElements = target.findAll('div', attrs={'class':'rbheader'})
print targetElements

一無所獲[]

targetElements = target.findAll('div', attrs={'class':'rbHeader'})
print targetElements

會給你:

[<div class="rbHeader"><span aria-level="3" class="ws_bold" role="heading">Experience Level</span></div>]

2,對於代碼:

targetElements = target.findAll('div', attrs={'class':'  row  result'})
print targetElements

它會給您結果而不是什么:

[<div class=" row result" data-jk="bc0437dce636c6f4" data-tn-component="organicJob" id="p_bc0437dce636c6f4" itemscope="" itemtype="http://schema.org/JobPosting"></div>]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM