• 締切済み

pythonでのスクレイピング

python2.7とBeutifulSoupで特定のHPからHTMLを取ってきて処理するプログラムを作っているのですが、正規表現でちょっと困っています。 soup=BeautifulSoup(HTML) s=soup.findAll("a"[,href=○○○、title=○○○]) でリンク<a>のHTMLを取得でき[]で絞込みが出来ます。さらに○○○には正規表現を使うことが出来ます。私はtilteにAを含まないもの、かつBをも含まないもの。という条件指定をしたいのですが、 正規表現で「もしくは「|」」は見当たるのですが「かつ」がみあたりません。 今は絞込みの後、if:continueを使ってBがあれば処理をパスするようにしていますが他によい方法は無いのでしょうか? beautifulsoupの使い方も合わせて教えていただけるとありがたいです。

みんなの回答

回答No.1

正規表現についてだけ 否定先読みと非欲張りマッチを使います。 /\A(?!.*?A)(?!.*?B).+\z/ 先頭の\Aは文字列先頭の、末尾の\zは文字列末尾のメタ文字です。

関連するQ&A