Python Bs4只获取部分html标记集

Python Bs4只获取部分html标记集,python,beautifulsoup,Python,Beautifulsoup,我正在抓取一个下拉列表中包含标签的html。我正在查找选定的项目,即具有选定属性的标记。 据我所知,这段代码应该可以做到: soup_1 = bs(result_1.content,'lxml') title = soup_1.find('select', {'id':'id_document'}) title2 = title.findAll('option') for tit in title2: print(tit) if t

我正在抓取一个下拉列表中包含标签的html。我正在查找选定的项目,即具有选定属性的标记。 据我所知,这段代码应该可以做到:

   soup_1 = bs(result_1.content,'lxml')

    title = soup_1.find('select', {'id':'id_document'})
    title2 = title.findAll('option')
    for tit in title2:
        print(tit)
        if tit.has_attr('selected'):
            print("found")
            print(tit.getText())
但是列表很长,控制台显示的记录超过5000条,而bs/lxml似乎只扫描其中的29条

有没有一种方法可以让it扫描所有这些内容,或者有一种更有效的方法来执行搜索?我四处搜索了一下,但除了与旧bug的模糊相似性之外,我找不到原因或解决方案

我还尝试了查找'select',{'selected':},但所有记录似乎都满足条件,即使只有一条记录在html中有效地具有该属性。我无法理解通过find搜索是否会检查所有条目,或者是否面临相同的限制

谢谢

编辑: 下面是我试图从中提取信息的html的一部分/示例:

<select name="document" id="id_document" required>
    <option value="">---------</option>
    <option value="294">Tutorials | Inkscape</option>
    <option value="241">Traduzione testo Mean - Taylor wift</option>
    <option value="243">http://www.angularjsbook.com/angular-basics/chapters/basics/</option>
    <option value="2521">script WLF 101 - Google Docs</option>
    <option value="290">LyX wiki | Layouts / Layouts</option>
    <option value="257">10Part2Chap7</option>
    <option value="296">Inkscape tutorial: Advanced | Inkscape</option>
    <option value="261">http://www.bankofengland.co.uk/banknotes/Pages/about/faqs.aspx</option>
    <option value="273">Nuvolaverde - Home</option>
    <option value="240">BLACK EYED PEAS LYRICS - Where Is The Love?</option>
    <option value="2527">How to Start a Blog In The Most Cluttered Marketplace In History</option>
    <option value="2528">3 Simple Steps to Silencing Your Inner Critic – Matthew E. May – Medium</option>

    .... (some 5K more lines)

    <option value="4082">Lietuva - Prancūzija Tiesiogiai. Rugsėjo 7 d. 15:00 val. | TVPlay</option>
    <option value="4083">Google Calendar - settembre 2019</option>
    <option value="4084">Google Calendar - settembre 2019</option>
    <option value="4085" selected>Estructura de datos</option>
</select>

页面的源代码(选项列表的最后一行仅选择了属性)与控制台(同一属性显示为selected)之间存在有趣的差异=

我们验证了代码用于识别所选选项,即使选项数量很大,作为字符串输入以进行测试

from bs4 import BeautifulSoup

content =''' <String of text sent via pastebin here>
 '''
soup_1 = BeautifulSoup(content, 'lxml')
title = soup_1.find('select', {'id': 'id_document'})
title2 = title.findAll('option')
for tit in title2:
    if tit.has_attr('selected'):
        print("found")
        print(tit.getText())

在我们的聊天中,我们确定问题可能是从网站上抓取标签,而不是处理数据。任何其他偶然发现这一点的人都应该检查他们的request.content或content是否确实包含他们希望获取的信息

我们可以看到您试图扫描的一些内容吗?当然可以,补充道。我本以为猜测html会有点困难。这足以理解@MatthewGaiser吗?这似乎很好地解释了这一点。我主要是想复制错误,而不是你给我的30条左右的记录。好吧,我用大约600条记录创建了一个粘贴库,最后一个也是选中的一个:让我知道它是否有用。你可以将所有这些浓缩到汤中。选择“一个'id'u document[selected]”。text