とあるサイトで、サイト内検索をすると10個のリンクが出てきて、そのリンクをクリックすると、そのリンクのアンカーテキストでサイト内検索した結果が表示されます。
そのアンカーテキスト、URL、子要素のように保存して、その子要素もまた同じような構造で保存して・・・と以下のようなクラスの階層構造で表現して保存したいです。
それらは毎回10個のリンク全てで行い・・・とやっていくと膨大なデータになると思います。
また階層の深さを任意で指定もしたいので、そこもまた難しいのです。
再帰的な処理をすればよいのでしょうが、どうにも難しいです。
Javascriptでレンダリングされているページなので、Selenium
でHeadless Chromeを動かしてスクレイピングしています。
Python
1class Element: 2 title = None 3 url = None 4 child = [] #ここにElementのインスタンスのリストが入る 5 6 def __init__(self, title, url, child=None): 7 self.title = title 8 self.url = url 9 self.child = child
順番が保たれさえすれば上記のようなクラスでなくてもOrderedDictなどでもいい気はします。
なかなか難しくてコーディングも設計も進まないので、考え方やテクニックなどでもいいので知恵をお貸しいただけないでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/04 13:30