使用BeautifulSoup的find和find_all函数获取标签的问题
高洛峰
高洛峰 2016-10-22 14:33:47
0
1
684

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

——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而已,这个问题我该怎么解决呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(1)
三叔

首先通过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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート