python爬虫基础

阅读: 评论:0

python爬虫基础

python爬虫基础

Beautiful中的正则表达式的应用


    • Beautiful中的正则表达式的应用
      • 正则表达式常见的符号
      • BeautifulSoup与正则表达式
      • BeautifulSoup 与lambda表达式

正则表达式常见的符号

符号含义例子匹配结果
*匹配前面的字符、子表达式或者括号里的字符0次或者多次a*b*aaabbbb
+匹配前面的字符、子表达式或者括号里的字符至少1次a+b+aabb
[]任意选择一个字符[A-Z]*ABC
()表达式编组(编组里的规则会优先运行)(a*b)*aaabbaab
{m,n}匹配前面的字符、子表达式或者括号里的字符m至n次(包括m和n)a{2,3}aab
[^]匹配任意一个不在括号里的字符[^a-z]APPLE
竖线匹配任意一个由竖线分割的字符、子表达式(键盘中的竖线,此处不能转义,使用汉字代替)b(a竖线i)dbad
_匹配任意单个字符(包括数字、空格、符号登)b_dbad
^指字符串开始位置的的字符或者子表达式^aapple
转义字符__
$用在正则表达式的末尾,用来从末尾匹配[A-Z]*[a-z]$ABCabc
?!不包含^((?![A-Z])_)$no-caps-here

BeautifulSoup与正则表达式

quest import urlopen
from bs4 import BeautifulSoup
import re
html = urlopen(".html")
bsObj = ad())
images = bsObj.findAll("img",{"src":repile("../img/gifts/img.*.jpg")})
for image in images:print(image["src"])
../img/gifts/img1.jpg
../img/gifts/img2.jpg
../img/gifts/img3.jpg
../img/gifts/img4.jpg
../img/gifts/img6.jpg

BeautifulSoup 与lambda表达式

Lambda 表达式本质上就是一个函数,可以作为其他函数的变量使用。BeautifulSoup 允许我们把特定函数类型当作findAll 函数的参数。唯一的限制条件是这些函数必须把一个标签作为参数且返回结果是布尔类型。BeautifulSoup 用这个函数来评估它
遇到的每个标签对象,最后把评估结果为“真”的标签保留,把其他标签剔除。

eles=bsObj.findAll(lambda tag: len(tag.attrs) == 2)
for ele in eles:print(ele)
<img src="../img/gifts/logo.jpg" style="float:left;"/>
<tr class="gift" id="gift1"><td>
Vegetable Basket
</td><td>
This vegetable basket is the perfect gift for your health conscious (or overweight) friends!
<span class="excitingNote">Now with super-colorful bell peppers!</span>
</td><td>
$15.00
</td><td>
<img src="../img/gifts/img1.jpg"/>
</td></tr>
<tr class="gift" id="gift2"><td>
Russian Nesting Dolls
</td><td>
Hand-painted by trained monkeys, these exquisite dolls are priceless! And by "priceless," we mean "extremely expensive"! <span class="excitingNote">8 entire dolls per set! Octuple the presents!</span>
</td><td>
$10,000.52
</td><td>
<img src="../img/gifts/img2.jpg"/>
</td></tr>
<tr class="gift" id="gift3"><td>
Fish Painting
</td><td>
If something seems fishy about this painting, it's because it's a fish! <span class="excitingNote">Also hand-painted by trained monkeys!</span>
</td><td>
$10,005.00
</td><td>
<img src="../img/gifts/img3.jpg"/>
</td></tr>
<tr class="gift" id="gift4"><td>
Dead Parrot
</td><td>
This is an ex-parrot! <span class="excitingNote">Or maybe he's only resting?</span>
</td><td>
$0.50
</td><td>
<img src="../img/gifts/img4.jpg"/>
</td></tr>
<tr class="gift" id="gift5"><td>
Mystery Box
</td><td>
If you love suprises, this mystery box is for you! Do not place on light-colored surfaces. May cause oil staining. <span class="excitingNote">Keep your friends guessing!</span>
</td><td>
$1.50
</td><td>
<img src="../img/gifts/img6.jpg"/>
</td></tr>

本文发布于:2024-01-28 13:46:44,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064208097841.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:爬虫   基础   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23