python爬虫類の入門-正規表現の学習

1896 ワード

1.正規表現
python爬虫入门——正则表达式的学习_第1张图片

RegexPal:正規表現のオンラインテストWebサイト
サイト上の画像のURLリンクをキャプチャするのは、findAll(「img」)ですべての画像をキャプチャするのが直接的ですが、画像を隠す場合は、正規表現でフィルタリングする必要があります.
import urllib2
import bs4
import re

html = urllib2.urlopen("http://www.pythonscraping.com/pages/page3.html")
bsObj = bs4.BeautifulSoup(html.read(), "lxml")

images = bsObj.findAll("img",{"src":re.compile("\.\.\/img\/gifts/img.*\.jpg")})
for image in images:
    print(image["src"])

このコードは、画像の相対パスを印刷します.すべて../img/gifts/imgで始まる.jpg末尾
2.Lambda式
Lambda式は本質的に関数であり、他の関数の変数として使用することができる.すなわち,1つの関数はf(x,y)として定義されるのではなく,f(g(x),y),またはf(g(x),h(x))として定義される. 
#2つのプロパティのラベルを取得します.
soup.findAll(lambda tag: len(tag.attrs) == 2)
結果:
class="body"id="content"> style="color:red"class="title">