写完后再看了下正则,发现有个简单的方法可以获取,只需替换第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个字符