代码之家  ›  专栏  ›  技术社区  ›  abhi krishnan

bs4仅获取前15个值

  •  1
  • abhi krishnan  · 技术社区  · 6 年前

    您好,我是Bs4新手,我需要从一个站点获取所有产品。我尝试获取这些值,但它只显示了一个页面中100个产品的前15个

    from bs4 import BeautifulSoup
    import requests
    base_url = 'http://www.elkay.com/sinks/undermount#q=|100|0|1|'
    response = requests.get(base_url)
    soup = BeautifulSoup(response.content.decode('utf-8'), "html.parser")
    
    is_row = soup.findAll('div', attrs={'class': 'product result_detail'})
    print(is_row)
    

    有人能帮我吗?

    这是一个列为len-15的结果集,实际上它们是100个产品

    1 回复  |  直到 6 年前
        1
  •  2
  •   farkas    6 年前

    使用Chrome开发者工具(按F12键),您可以轻松找到正确的请求:

    1. 打开站点
    2. 单击网络选项卡
    3. 现在选择每页结果:100
    4. 复制curl命令(复制为curl(bash))

    Copy curl command

    1. this very handy site

    我不会复制完整请求,但它有一个数据参数:

    data = {
        'contentBeginIndex': '0^',
        'productBeginIndex': '0^',
        'showPageSize': '100^',
    }