说到爬虫,不可避免的会牵涉到正则表达式。
因为你需要清晰地知道你需要爬取什么信息?它们有什么共同点?可以怎么去表示它们?
而这些,都需要我们熟悉正则表达,才能更好地去提取。
先简单复习一下各表达式所代表的意思:
案例:
定义密码的正则表达式:
英文字母开头,可以包括数字、大小写英文字母、下划线,6-16位。
表达式为:password_pattern='^[a-zA-Z]{1}[a-zA-Z0-9_]{5-15}$'
或password pattern='^[a-zA-Z][a-zA-Z0-9_]{5-15}$'
匹配div标签,class="class1"中的文本内容:
<div class="class1">要匹配的内容</div>
表达式为:div_pattern1='<div class="class1">(.*)</div>'
匹配div标签中div标签,class="class1"中的文本内容:
<div><div class="class1">要匹配的内容</div></div>
表达式为:div_pattern1='<div class="class1">(.*?)</div>'
注意:?
的作用是关闭贪婪模式,如果去掉?
,则会匹配出要匹配的内容</div>
字符串。