[问题] 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