helper.crawling module

クローリング
  • 指定サイト(site_url)をセレクタ(site_selectors)でクローリングする(ChromeDriverを使用)

  • クローリング結果を、crawling_file_pathに保存する

  • crawling_file_pathのpage_urlsは、スクレイピングする対象urlリストである

  • crawling_file_pathのexclusion_urlsは、スクレイピングの除外urlリストである

  • zip保存まで終わると、page_urlsからexclusion_urlsにurlを移す

  • セレクタを、image_urlで定義すると、crawling_url_deploymentでスクレイピングして末尾画像URLの展開URLでダウンロードして、zipに保存する

  • セレクタを、image_urlsで定義すると、crawling_urlsでスクレイピングしてダウンロードして、zipに保存する

class helper.crawling.Crawling(value_object=None, site_selectors=None, crawling_items=None, crawling_file_path='D:/git/igaponr/training/python/Web_scraping/helper/../crawling_list.txt')[ソース]

ベースクラス: object

クローリングクラス

指定されたサイトをクローリングし、結果をファイルに保存します

URLS_EXCLUSION = 'exclusion_urls'
URLS_FAILURE = 'failure_urls'
URLS_TARGET = 'page_urls'
crawling_file_path: str = 'D:/git/igaponr/training/python/Web_scraping/helper/../crawling_list.txt'
crawling_items: dict = {'exclusion_urls': [], 'failure_urls': [], 'page_urls': []}
crawling_url_deployment(page_selectors, image_selectors, notification_id='')[ソース]

各ページをスクレイピングして、末尾画像のナンバーから、URLを予測して、画像ファイルをダウンロード&圧縮する # crawling_itemsに、page_urlsがあり、各page_urlをpage_selectorsでスクレイピングする # タイトルとURLでダウンロード除外または済みかをチェックして、 # ダウンロードしない場合は、以降の処理をスキップする # 各page_urlをimage_selectorsでスクレイピングしてダウンロードする画像URLリストを作る。 # 画像URLリストをirvineHelperでダウンロードして、zipファイルにする

crawling_urls(page_selectors, image_selectors)[ソース]

各ページをスクレイピングして、画像ファイルをダウンロード&圧縮する # crawling_itemsに、page_urlsがあり、各page_urlをpage_selectorsでスクレイピングする # タイトルとURLでダウンロード除外または済みかをチェックして、 # ダウンロードしない場合は、以降の処理をスキップする # 各page_urlをimage_selectorsでスクレイピングしてダウンロードする画像URLリストを作る。 # 画像URLリストをirvineHelperでダウンロードして、zipファイルにする

create_save_text()[ソース]

保存用文字列の作成

以下を保存する
  • サイトURL

  • セレクタ

  • saveファイルのフルパス

  • クローリング結果urls

戻り値:

保存用文字列の作成

戻り値の型:

str

static dict_merge(dict1, dict2)[ソース]

dict2をdict1にマージする。dictは値がlistであること。list内の重複は削除。list内の順序を維持

static download_chrome_driver(web_file_list)[ソース]

selenium chromeDriverを用いて、画像をデフォルトダウンロードフォルダにダウンロードして、指定のフォルダに移動する

get_crawling_file_path()[ソース]

値オブジェクトのプロパティcrawling_file_path取得

get_crawling_items()[ソース]

値オブジェクトのプロパティcrawling_items取得

get_site_selectors()[ソース]

値オブジェクトのプロパティsite_selectors取得

get_site_url()[ソース]

値オブジェクトのプロパティsite_url取得

get_value_object()[ソース]

値オブジェクトを取得する

is_url_included_exclusion_list(url)[ソース]

除外リストに含まれるURLならTrueを返す

is_url_included_failure_list(url)[ソース]

失敗リストに含まれるURLならTrueを返す

load_text(selectors=None, crawling_file_path='D:/git/igaponr/training/python/Web_scraping/helper/../crawling_list.txt')[ソース]

独自フォーマットなファイルからデータを読み込み、value_objectを作り直す

パラメータ:
  • selectors (dict, optional) -- スクレイピングする際のセレクタリスト。デフォルトは None

  • crawling_file_path (str, optional) -- ダウンロードフォルダのパス。デフォルトは crawling_file_path

戻り値:

成功、True。ファイルがなかったり、ファイルが空だったら、False

戻り値の型:

bool

marge_crawling_items()[ソース]

crawling_itemsのpage_urlsにexclusion_urlsがあったら削除する

move_url_from_page_urls_to_exclusion_urls(url)[ソース]

ターゲットリスト(page_urls)から除外リスト(exclusion_urls)にURLを移動する

move_url_from_page_urls_to_failure_urls(url)[ソース]

ターゲットリスト(page_urls)から失敗リスト(failure_urls)にURLを移動する

save_text()[ソース]

クローリング情報をファイルに、保存する

戻り値:

成功/失敗=True/False

戻り値の型:

bool

static scraping(url, selectors)[ソース]

ChromeDriverを使ってスクレイピングする

site_selectors: dict = None
static take_out(items, item_name)[ソース]

crawling_itemsから指定のitemを取り出す

static validate_title(items: dict, title: str, title_sub: str)[ソース]
value_object: CrawlingValue = None
class helper.crawling.CrawlingValue(site_url, site_selectors, crawling_items, crawling_file_path)[ソース]

ベースクラス: object

Crawlingの値オブジェクトクラス

site_url

サイトURL

Type:

str

site_selectors

サイトセレクタ。キーはアイテム名、値はCSSセレクタ

Type:

Dict[str, str]

crawling_items

クローリングアイテム。キーはアイテムの種類(例:'page_urls')、値はURLのリスト

Type:

Dict[str, List[str]]

crawling_file_path

クローリングファイルパス

Type:

str

例外:

ValueError -- 各属性が不正な値(None、空文字列、不正な型)の場合

crawling_file_path: str = None
crawling_items: dict = None
site_selectors: dict = None
site_url: str = None