我是python的新手。有没有办法简化这个:
def getDivs():
divs = soup.findAll(name = "div", attrs = {"class" : "resultCell"}, recursive = True)
for div in divs:
h2 = div.find("h2")
a = h2.find("a")
href = a["href"]
yield (href)
divs = list(getDivs())
我觉得我应该能够创建一个匿名函数而不是getDivs。像(伪代码)的东西:
divs =
[
divs = soup.findAll(name = "div", attrs = {"class" : "resultCell"}, recursive = True)
for div in divs:
h2 = div.find("h2")
a = h2.find("a")
href = a["href"]
yield (href)
]
由于
答案 0 :(得分:3)
只需使用列表理解:
divs = [ div.find("h2").find("a")["href"]
for div in soup.findAll(name = "div",
attrs = {"class" : "resultCell"},
recursive = True) ]
但使用正确的XML解析工具是一个更好的主意。