Python 在这种情况下,提取文本的最佳方法是什么?

Python 在这种情况下,提取文本的最佳方法是什么?,python,html,text,web-scraping,beautifulsoup,Python,Html,Text,Web Scraping,Beautifulsoup,我想找到并抓取a下给出的所有文本。 现在它返回文本以及 我想学习最快的方法来实现这一点,并用逗号格式化它 现在,我也可以通过命令分别抓取每个文件来编写代码。 但我想抓取超过20件物品,所以我想找到一个更快的方法。 并从中学习:D 我试着在find和find_中切换,在末尾添加get_文本。 它们都给出了一个错误 kenmerken = BeautifulSoup(browser.page_source, 'lxml') details = kenmerken.fi

我想找到并抓取a下给出的所有文本。 现在它返回文本以及 我想学习最快的方法来实现这一点,并用逗号格式化它

现在,我也可以通过命令分别抓取每个文件来编写代码。 但我想抓取超过20件物品,所以我想找到一个更快的方法。 并从中学习:D

我试着在find和find_中切换,在末尾添加get_文本。 它们都给出了一个错误

        kenmerken = BeautifulSoup(browser.page_source, 'lxml')
        details = kenmerken.find_all ('div', {'class':'detail-tab-content kenmerken'})
        try:
            tr = details[0].find_all ('td', {'class': 'value'})
        except IndexError:
            size_space = 'Unknown'
        print(tr)
结果:

    [<td class="value">
            Herenhuis

    </td>, <td class="value">
            2008
    </td>, <td class="value">
            250 m²
    </td>, <td class="value">
            -    
    </td>, <td class="value">
            -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        -
    </td>, <td class="value">
            -
    </td>, <td class="value">
            -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        5
    </td>, <td class="value">
        -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        Ja
    </td>, <td class="value">
        -
    </td>, <td class="value">
        -
    </td>, <td class="value">
        Ja
    </td>, <td class="value">
        3.627
    </td>, <td class="value">
        64
    </td>]
[<td class="value">
在try块中,tr将是td元素的列表。如果你想要td.文本,你需要迭代列表,例如使用列表理解。我已将“全部查找”切换为“选择-两个退货”列表

tds_values = [td.text for td in details[0].select('td.value')]
如果要循环详细信息,请使用:

for detail in details:
    tds_values = [td.text for td in detail.select('td.value')]
如果需要逗号分隔的字符串

tds_values = ','.join([td.text.strip() for td in detail.select('td.value')])

好的,谢谢!真管用!有没有办法摆脱这些空间?在我的旧代码中,我使用了这个:separator='\n',strip=True,但它不再起作用了。有没有办法去掉空格并加上逗号呢?Herenhuis,2008,250 m²,-,-,Ja,-,Ja,-,Ja,3.627,64类似的东西。它进入一个csv文件。将其更改为:tr=','。在详细信息[0]中加入[td.text.strip for td]。选择'td.value']可以正常工作!是 啊对于顶级版本。