target="_blank"
Python スクリプトを実行して HTML ファイルを解析し、属性を持つすべてのリンクのリストを収集したいと考えています。
次のことを試しましたが、bs4から何も得られません。SoupStrainer は、ドキュメントで、findAll などと同じ方法で引数を取ると述べていますが、これは機能するはずですか? ばかげたエラーがありませんか?
import os
import sys
from bs4 import BeautifulSoup, SoupStrainer
from unipath import Path
def main():
ROOT = Path(os.path.realpath(__file__)).ancestor(3)
src = ROOT.child("src")
templatedir = src.child("templates")
for (dirpath, dirs, files) in os.walk(templatedir):
for path in (Path(dirpath, f) for f in files):
if path.endswith(".html"):
for link in BeautifulSoup(path, parse_only=SoupStrainer(target="_blank")):
print link
if __name__ == "__main__":
sys.exit(main())