[問題] BeautifulSoup反選擇

作者: okeyla (小寶)   2017-07-23 09:50:06
不知BeautifulSoup可否反選擇呢?
以下是問題範例...
##################################
HTML2 = """
<table>
<tr>
<td class>a</td>
<td class>b</td>
<td class>c</td>
<td class>d</td>
</tr>
<tr>
<td class>e</td>
<td class>f</td>
<td class>g</td>
<td class>h</td>
</tr>
</table>
<table cellpadding="0">
<tr>
<td class>111</td>
<td class>222</td>
<td class>333</td>
<td class>444</td>
</tr>
<tr>
<td class>555</td>
<td class>666</td>
<td class>777</td>
<td class>888</td>
</tr>
"""
soup2 = BeautifulSoup(HTML2, 'html.parser')
f2 = soup2.select('table[cellpadding!="0"]') #<
作者: vi000246 (Vi)   2017-07-23 10:20:00
作者: AlaRduTP (Eden)   2017-07-23 12:15:00
select 我不確定,但是可以把 !="0",改成 =None 試試看find的話 https://goo.gl/MUXsoM
作者: okeyla (小寶)   2017-07-23 15:13:00
頭大, 還是不成功...
作者: LessonWang (橘白Cat)   2017-07-23 15:48:00
既然select方法無法奏效那你可以使用find_all方法xd畢竟bs4不支援css的not選擇器只好轉個彎吧http://i.imgur.com/0HaQMyW.jpg
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2017-07-23 19:00:00
如果你會jQuery的話可以試試 pyquery 已打算拋棄bs惹
作者: AlaRduTP (Eden)   2017-07-23 19:09:00
soup.find_all('table', attrs={'cellpadding': None})或者用 soup.find() 就可以惹

Links booklink

Contact Us: admin [ a t ] ucptt.com