
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 |