찾다

 >  Q&A  >  본문

使用BeautifulSoup的find和find_all函数获取标签的问题

在爬虫时遇到下面的导航树:

——div.center
    ——div.ft_ggbox_1 balck_ggbox_1
        ——div.black_jubao_right black_jubao_right_xxbh black_jubaot_xxbh
            ——form#listform
                ——p
                ——a
                    ——div.ft_publick_pzxx
                        ——div.ft_publick_pzxxright ft_publick_myjb
                ——p
                ——a

如果使用find函数,只能找到第一个a标签,下面的a都无法找到,但是如果用find_all函数,又会把a的child全提取,但实际上我只想提取所有a的href而已,这个问题我该怎么解决呢?

高洛峰高洛峰3064일 전678

모든 응답(1)나는 대답할 것이다

  • 三叔

    三叔2016-10-22 14:34:08

    首先通过find_all找到所有a标签, 然后通过列表表达式将所有a包含的href保存到列表中

    soup = BeautifulSoup(html_string)
    atag = soup.find_all('a')
    hrefs = [item.get('href') for item in atags if item.get('href')]


    회신하다
    0
  • 취소회신하다