beautifulsoupのselect
メソッドに複数の引数を指定する方法はありますか?beautifulsoupのCSSセレクタで複数のタグを取得する
soup.select('div[class^="TypeA"]'
でデータを取得しています。これは、クラスがパターンTypeA
と一致するすべてのdivを私に取得します。私はまた、別のdivを取得することに興味がありますclass="TypeB"
(完全一致)。
今私はおそらく2つの別々のパスでこれを行うことができます。次のように入力します。
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
ただし、1回のパスで行うことはできますか? documentationを見ると、これがどうやってできるのかはすぐに分かりません。
を使用するために、ジッパーでDIV2(soup.select( 'divの[クラス^ = "TypeA"] ')、soup.select(' div [クラス^ = "TypeB"] ')): ' – Arman