Python 排除findAll结果集

Python 排除findAll结果集,python,beautifulsoup,Python,Beautifulsoup,我正试图排除在美丽的汤芬德尔某些结果。我试图排除具有media=print属性的样式表链接 这是我的密码: from bs4 import BeautifulSoup import urllib2 url = "http://worldwildlife.org/" request = urllib2.Request(url) opener = urllib2.build_opener() f = opener.open(request) html = f.read() soup = Bea

我正试图排除在美丽的汤芬德尔某些结果。我试图排除具有media=print属性的样式表链接

这是我的密码:

from bs4 import BeautifulSoup
import urllib2

url = "http://worldwildlife.org/"

request = urllib2.Request(url)
opener = urllib2.build_opener()
f = opener.open(request)

html = f.read()
soup = BeautifulSoup(html)
css_files = soup.findAll('link',{'rel':'stylesheet'})

print css_files
返回:

[<link href="/assets/application-b275a30a2c6726e3fabb10517f7cb812.css" media="all" rel="stylesheet" type="text/css"/>, <link href="/assets/print-f0ba9e9b867691bb2fea40b2ab4e78d7.css" media="print" rel="stylesheet" type="text/css"/>]
[,]

我尝试过各种方法,显然我是python新手。如果您能提供任何帮助,我将不胜感激。

将您的搜索行修改为:

css_files = soup.findAll('link',{'rel':'stylesheet', 'media': lambda L: L != 'print'})
# [<link href="/assets/application-b275a30a2c6726e3fabb10517f7cb812.css" media="all" rel="stylesheet" type="text/css"/>]
css_files=soup.findAll('link',{'rel':'stylesheet','media':lambda L:L!='print'})
# []

谢谢-我显然有一些关于lambda的研究要做。我已经看过好几次了,所以是时候知道它是什么了!但感谢您的帮助。@user1683285它创建了一个简单的可调用对象。由于
bs4
允许将可调用项作为其选择标准,因此这两个选项可以很好地协同工作