python初心者です。自分で課題を設定してトライしていますがいき
なり行き詰っています。
あるwebページのアクセスして表示内容を取得しようとしています。
次がpythonの記述です。
!pip3 install helium
from helium import *
driver = start_chrome('https://www.nict.go.jp/JST/JST5.html')
_items = find_all(S('td'))
items = [_item.web_element.text for _item in _items]
items
結果は、内容が表示されましたが、欲しい情報(ページで表示されて
いる時刻情報)は取得できませんでした。
たぶんhtmlの勉強不足なのが原因なのでしょうが、そもそも取得は無
理なんでしょうか?
find_all(S('td')) を find_all(S('input'))に変えてもダメでした。
python特にweb系に強いかたがいらっしゃいましたらご教示お願いいた
します。
No.2ベストアンサー
- 回答日時:
web_element.text
↓
web_element.value
または
web_element.get_attribute('value')
ご教示いただきましたように記述を変更したところ感激の結果を得られました。
!pip3 install helium
from helium import *
import time
driver = start_chrome('https://www.nict.go.jp/JST/JST5.html')
time.sleep(3)
_items = find_all(S('input.txtbox'))
items = [_item.web_element.get_attribute('value') for _item in _items]
items
結果は、
Out[4]:['2021/10/14 16:52:01',
'2021/10/14 07:52:01',
'2021/10/14 07:52:38',
'2021/10/14 16:52:01',
'2021/10/14 16:52:01',
'0.3 秒 遅れています']
の通り完璧に取得できました。
Ogre7077様 本当に感激です。ありがとうございました。
VBA + IE では同じようなことを実現したことがありますが、プログラムのステップ数は比較にならないほどpythonは短く、圧倒されました。
time.sleep(3)がないとデータの表示が完了するまでにfind_allを実行してしまいデータの内いくつかは欠落してしまいます。
やむを得ず3秒待つもとにしましたが、
VBA + IE で記述する
Do While .Busy = True
DoEvents
Loop や
Do While .document.readyState <> "complete"
DoEvents
Loop
のような処理はpythonでは、どのように記述するのでしょうか。
厚かましく質問を重ねてしまい申し訳ありませんが、ご教示いただければ幸せです。
No.1
- 回答日時:
取得すべき要素: S('input.txtbox')
取得すべき属性: <INPUT> 要素の value および name
ご指導ありがとうございます。
やはり勉強不足で頂いた回答を十分理解することができないまま
_items = find_all(S('input.'))を
_items = find_all(S('input.txtbox'))に変更してトライしましたが
結果は
Out[4]: ["","","","","",""]となり、ページで表示している時刻は取得
できませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ps3で久しぶりにCDの音楽情報取...
-
Yahoo! JAPAN IDを新規取得でき...
-
【C#】FindWindowExの使い方を...
-
EXCEL、マクロ-改ページ行番号...
-
アクセスの度にIPアドレスを変...
-
Excel VBA:特定の文字列以降(...
-
築24年の中古住宅は住宅ローン...
-
VBS「開いているページ」のURL...
-
積立投資してます。現在平均取...
-
PDO/カラム値だけを取得したい...
-
PHP の cURL で、htmlを画像へ...
-
表示している画面サイズの取得方法
-
位置センサー動作履歴
-
Dosブロンプトでtabを出力したい
-
PHPにて自動計算した値をデータ...
-
shシェルスクリプト 空白行の...
-
DBのハッシュ化したパスワード...
-
phpの質問です
-
INIファイルに一括書き込みを行...
-
レスポンスを早くしたい。(python)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
EXCEL、マクロ-改ページ行番号...
-
ps3で久しぶりにCDの音楽情報取...
-
築24年の中古住宅は住宅ローン...
-
ローカルのコンピュータ名を取...
-
format関数について
-
Excel VBA:特定の文字列以降(...
-
ミュージックのアートワークを...
-
【VBA】EXCELブックを開かずに...
-
Yahoo! JAPAN IDを新規取得でき...
-
(Win32)ファイルパスから物理ド...
-
アクセスの度にIPアドレスを変...
-
VBS「開いているページ」のURL...
-
VB or VBScriptでPCの製造番号...
-
IPアドレスとMACアドレスを取得...
-
【C#】FindWindowExの使い方を...
-
VBAでできますか?
-
各クライアントマシンのログイ...
-
VBSであるAD情報を取得したいで...
-
表示している画面サイズの取得方法
おすすめ情報