如何检测强标记并添加" *"每一个?

时间:2017-05-12 15:44:47

标签: python web beautifulsoup findall

我在python中有这个代码,它对我的​​作用是从网络延伸。 Web文章的文本内容,并将它们保存在不同的文件中。我想知道,如何检测一个强大的标签,并在每个标签中添加一个" "之前或之后。

这是我需要的结果:

 import urllib2
    import re
    from bs4 import BeautifulSoup
    import time


    def _remove_attrs(soup):
        for tag in soup.findAll(True):

            href=''
            if (tag.has_attr('href')):
            href=tag.get('href')

            src=''
            if (tag.has_attr('src')):
                src=tag.get('src')

            # tag.attrs = None
        tag.attrs = {}
         if (href!=''):
            tag['href']= href

        if (src!=''):
            tag['src']= src

    return soup

def _remove_empty(soup):
    return soup
    for x in soup.find_all():
        if len(x.text) == 0:
            x.extract()
    return soup


    base_url= 'http://www.scavonehnos.com.py/index.php?
    mact=Vmcs,cntnt01,print,0&cntnt01articleid='

   for x in range(10,12):
       n_url=base_url + str(x)
       print ("#PAGINA: "+n_url)
       page = urllib2.urlopen(n_url)
       soup = BeautifulSoup(page, 'html.parser')

       contenido=(soup.div.get_text())

       file = open('vicentec/prod_'+str(x)+'.txt', 'w')
       file.write(u' '.strip(contenido).join((contenido)).encode('utf-
8'))
       file.close()


       time.sleep(5)

您将看到我想将星号添加到网络上的<strong>标记。

1 个答案:

答案 0 :(得分:1)

对于那些访问过这个问题的人来说,这个案子我已经解决了它并且它保持完好无损

import urllib2
import re
from bs4 import BeautifulSoup
import time


def _remove_attrs(soup):
    for tag in soup.findAll(True):

        href=''
        if (tag.has_attr('href')):
            href=tag.get('href')

        src=''
        if (tag.has_attr('src')):
            src=tag.get('src')

        # tag.attrs = None
        tag.attrs = {}
        if (href!=''):
            tag['href']= href

        if (src!=''):
            tag['src']= src

    return soup

def _remove_empty(soup):
    return soup
    for x in soup.find_all(''):
        if len(x.text) == 0:
            x.extract()
    return soup

base_url= 'http://www.scavonehnos.com.py/index.php?mact=Vmcs,cntnt01,print,0&cntnt01articleid='

for x in range(10,225):
    n_url=base_url + str(x)
    print ("#PAGINA: "+n_url)
    page = urllib2.urlopen(n_url)
    soup = BeautifulSoup(page, 'html.parser')

    for strong in soup.select('strong'):
        strong.replace_with('#'+strong.get_text())

    contenido=(soup.div.get_text())


    fprod = 'vicentec/prod_'+(str(x))+'.txt'
    file = open(fprod, "w")
    file.write(u' '.strip(contenido).join((contenido)).encode('utf-8'))
    file.close()