1
uyhsefwa OP 或者可不可以把 find_all 的结果全部转换成 string ,
|
2
b1eberg0n Oct 25, 2016
a = soup.findall('a')
b = a[0].findall('b') |
3
Arthur2e5 Oct 25, 2016
改写一下 @b1eberg0n ,来个范围攻击的……
a_b = [a.findall('b') for a in soup.findall('a')] a_b_flat = [result for a in soup.findall('a') for result in a.findall('b')] |
4
uyhsefwa OP |
6
orange88 Oct 25, 2016 via Android
li 是 none ,上一个没找到?
|
8
orange88 Oct 25, 2016 via Android
li[0].findall
|
10
syahd Oct 25, 2016 via Android
find_all 返回的结果是个 list ,要其中的结果得把它迭代一遍才行,最好再加个异常处理,防止出现你这样的情况
|
11
practicer Oct 25, 2016
get_all_secondary_elements(bs)
try: top_elements = bs.find_all(...) for top_element in top_elements: secondary_elements = top_element.find_all(...) if secondary_elements is not None: yield secondary_elements except (AttributeError, TypeError): yield secondary_elements = list(get_all_secondary_elements) |
12
wyntergreg Oct 25, 2016
转成 tag 再 findall
|
13
b1eberg0n Oct 25, 2016
|