python - 无法获取 <div> 内的完整数据

标签 python web-scraping beautifulsoup

HTML:

<div>
    Está en: <b>     
            <a href="/">Inicio</a> /       
            <a href="/proyectos-vivienda-nueva/valle-del-cauca/">Valle Del Cauca</a> /            
            <a href="/proyectos-vivienda-nueva/cali/">Cali</a> /                         
            <a href="/proyectos-vivienda-nueva/sur/cali/">Zona Sur</a> /                       
            <a href="/proyectos-vivienda-nueva/zona-sur/cali/">Zona Sur</a> /                         
    <a>Los Naranjos Conjunto Campestre</a></b>
</div>

无法获取所有 <a>里面的标签 <div>标签

我的代码:

import requests
from bs4 import BeautifulSoup
page = requests.get('https://www.fincaraiz.com.co/oceana-52/barranquilla/proyecto-nuevo-det-1041165.aspx')
soup = BeautifulSoup(page.content, 'html.parser')
first = soup.find('div' , 'breadcrumb left')
link = first.find('div')
a_link = link.findAll('a')
print (a_link)

以上编码只打印第一个<a>标签

[<a href="/">Inicio</a>]

以下是上述 HTML 所需的输出

Valle Del Cauca 
Cali 
Zona Sur 
Zona Sur

我不确定为什么它在 '/' 之后不打印里面<b>标签

最佳答案

您可以使用 lxml 解析器,html.parser 在 BS4 解析之前规范化/美化实际源。

soup = BeautifulSoup(page.content, 'lxml')

关于python - 无法获取 <div> 内的完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46025127/

相关文章:

python - Pygame 中的颜色碰撞检测

python - Pulumi运行时找不到pulumi库

javascript - PHP正则表达式从JS函数中提取经纬度

用于创建包含 100 多个视频的 YouTube 播放列表的视频标题列表的 Python 脚本

python - 使用python(在mac上)在Linkedin上抓取公司列表-默认为重试或<999>错误

python - BeautifulSoup 查找多个类别

python - 用 python 编写的数学语法检查器

python - numpy 数值微分

javascript - 这种 sanitizer 容易受到 XSS 攻击吗?

python - 按 bs4 标签拆分/获取两个标签之间的文本