通过beautifulsoup css选择器

时间:2017-02-11 15:47:48

标签: python beautifulsoup

有没有办法为beautifulsoup的select方法提供多个参数?

我通过soup.select('div[class^="TypeA"]'检索数据。这会获取类匹配模式TypeA的所有div。我还想检索另一个div class="TypeB"(完全匹配)。

现在我可以在两个单独的通行证中完成此操作,例如类似的东西:

r = requests.get(jurl)
soup = BeautifulSoup(r.text,"lxml")
list1 = []
#get typeA divs
for div in soup.select('div[class^="TypeA"]'):
    t = [text for text in div.stripped_strings]
    list1.append(t)
list2 = []
#get typeB divs
for div in soup.select('div[class^="TypeB"]'):
    t = [text for text in div.stripped_strings]
    list2.append(t)
#combine the two into tuples. Both lists are of the same size
list3 = []
count = 0
for item in list1:
    list3.append((item,list2[count]))
    count += 1    
print list3

但是有可能一次性完成吗?通过documentation,我们不知道如何做到这一点。

1 个答案:

答案 0 :(得分:3)

soup.select('div[class^="TypeA"], div[class^="TypeB"]')

使用,使用多个选择器

CSS Selector Reference

enter image description here