[爬虫入门]BeautifulSoup获取标外内容

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shichimiyasatone/article/details/79330131

    写完后再看了下正则,发现有个简单的方法可以获取,只需替换第4步

name_pat = '(<div class="info1">)(.+)(</div>)'
#将div分为三组,中间的第二组即为想要的内容
name_re = re.match(name_pat,str(name_tag))
if name_re is not None:
    print name_re.group(2)

-------------------------------------------------------------------------------------------------------------------------------------------------

    前几天入门开始学爬虫,把图爬下来了可是图片的名字不在标签内不会如何获取,看百度说用正则

无奈之前没学过就放着了。今天学了正则想来试试,发现虽然tag无法直接切片,但是可以用内建函数

str()转换成字符串再切片,虽然感觉这方法有点呆,不过也达到了目的,等正则学好了再试试正则的方法。



例子:

<div class ="cla22">
    <form>
        <div class="info1">张三</div>
    </form>
</div>


1.先获取网页html

soup = BeautifulSoup(content, "html5lib")
 2.使用find找到包含对应class、id的tag
div_tag = soup.find('div',class_='cla22')
3.可以直接先print打印div_tag的内容
print(div_tag)
4.下面开始提取div外的内容
name_tag = div_tag.find('div',class_='info1')
name = str(name_tag)[19:-6]    #名字从第19位开始,去掉后面多余的6个字符





猜你喜欢

转载自blog.csdn.net/shichimiyasatone/article/details/79330131