helper.tenki module

requests-htmlでスクレイピング

requestsでスクレイピングできないページのスクレイピング

class helper.tenki.Tenki(target_value: TenkiValue | str = None, css_root: str = None, css_selectors: dict = None, attrs: dict = None)[ソース]

ベースクラス: object

クローリングユーティリティ

指定のサイトを読み込み、指定のCSSセレクタ(css_selectors)と属性でクローリング(attrs)し、クローリング結果でTenkiValueを生成する

tenki_value

TenkiValueオブジェクト

Type:

helper.tenki.TenkiValue

target_url

対象サイトのURL

Type:

str

css_root

スクレイピングルートCSSセレクタ

Type:

str

css_selectors

スクレイピングCSSセレクタ辞書

Type:

dict

attrs

スクレイピング属性辞書

Type:

dict

attrs: dict = None
clip_copy()[ソース]

クローリング結果をクリップボードにコピーする

戻り値:

成功/失敗=True/False

戻り値の型:

bool

create_line_bot_toba_format()[ソース]

時間毎の天気予報配列を作る

戻り値:

天気予報配列

戻り値の型:

dict

create_save_text()[ソース]

保存用文字列の作成

戻り値:

保存用文字列の作成

戻り値の型:

str

css_root: str = None
css_selectors: dict = None
get_result_counters()[ソース]

クローリング結果を取得する

戻り値:

クローリング結果

戻り値の型:

dict

get_result_forecasts()[ソース]

クローリング結果を取得する

戻り値:

クローリング結果

戻り値の型:

dict

get_title()[ソース]

対象サイトタイトルを取得する

戻り値:

対象サイトタイトル

戻り値の型:

str

get_value_objects()[ソース]

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

戻り値:

値オブジェクト

戻り値の型:

TenkiValue

load_text(load_path)[ソース]

独自フォーマットなファイルからデータを読み込む

パラメータ:

load_path (str) -- ロードする独自フォーマットなファイルのパス

戻り値:

成功/失敗=True/False

戻り値の型:

bool

request() bool[ソース]

target_urlに接続し、スクレイピングを実行してtenki_valueを更新する

戻り値:

成功, False: 失敗

戻り値の型:

True

例外:

RequestException -- リクエストエラーが発生した場合

save_text(save_path)[ソース]
データをファイルに、以下の独自フォーマットで保存する
  • 処理対象サイトURL

  • ルートCSSセレクタ

  • CSSセレクタ

  • 属性

  • タイトル

  • クローリング結果

パラメータ:

save_path (str) -- セーブする独自フォーマットなファイルのパス

戻り値:

成功/失敗=True/False

戻り値の型:

bool

special_func_temp()[ソース]

特別製

temp_itemのjava-scriptを解析して、 データとカウンターを整える(元のデータを書き換える)

target_url: str = None
tenki_value: TenkiValue = None
class helper.tenki.TenkiValue(target_url: str, css_root: str, css_selectors: dict, attrs: dict, title: str, forecasts: dict = <factory>, counters: dict = <factory>)[ソース]

ベースクラス: object

クローリング値オブジェクト

attrs: dict
counters: dict
css_root: str
css_selectors: dict
forecasts: dict
target_url: str
title: str
helper.tenki.is_num(s: str) bool[ソース]

数値かどうかを判定する

パラメータ:

s -- 判定対象の文字列

戻り値:

数値の場合, False: 数値でない場合

戻り値の型:

True