Используя Красивый Суп, как я выполняю итерации по всему встроенному тексту?

Вы можете изменить этот код и попробовать.

Option Explicit

Sub test()

    Dim Lastrow As Long, i As Long
    Dim strToSearch As String
    Dim obj As Object

    Set obj = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

    With ThisWorkbook.Worksheets("Sheet1")

        strToSearch = "Ebay"

        Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For i = 1 To Lastrow
            'Have in mind that InStr is case sensitive.
            If InStr(1, .Range("A" & i).Value, strToSearch) > 0 Then
                'Just Copy
                .Range("A" & i).Copy
                'Put in clipboard
                obj.SetText .Range("A" & i).Value
                obj.PutInClipboard
                Set obj = Nothing
            End If
        Next i

    End With

End Sub
5
задан mike 6 May 2009 в 19:34
поделиться

1 ответ

Предположим, переменная test_html имеет следующий HTML-контент:

<html>
<head><title>Test title</title></head>
<body>
<p>Some paragraph</p>
Useless Text
<a href="http://stackoverflow.com">Some link</a>not a link
<a href="http://python.org">Another link</a>
</body></html>

Просто сделайте это:

from BeautifulSoup import BeautifulSoup

test_html = load_html_from_above()
soup = BeautifulSoup(test_html)

for t in soup.findAll(text=True):
    text = unicode(t)
    for vowel in u'aeiou':
        text = text.replace(vowel, u'') 
    t.replaceWith(text)

print soup

Это напечатает:

<html>
<head><title>Tst ttl</title></head>
<body>
<p>Sm prgrph</p>
Uslss Txt
<a href="http://stackoverflow.com">Sm lnk</a>nt  lnk
<a href="http://python.org">Anthr lnk</a>
</body></html>

Обратите внимание, что теги и атрибуты остались нетронутыми.

10
ответ дан 13 December 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: