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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- JavaScript Javascriptを使ってQRコード読み取り、取得した情報をPOSTしたいと思っています。 1 2023/04/28 15:18
- その他(プログラミング・Web制作) プログラミング Python 1 2022/09/28 05:02
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「取得先」という表現について
-
DMMの動画を全件取得したのです...
-
実行中の他のアプリのパスの取...
-
Yahoo! JAPAN IDを新規取得でき...
-
format関数について
-
VBScriptでのWEBページのソース...
-
EXCEL、マクロ-改ページ行番号...
-
IEを使わないでhtmlテキストを...
-
表示している画面サイズの取得方法
-
PHPを使って、別サイトの一部を...
-
IPアドレス変更方法
-
VBA: HTTPでのスクレイピング
-
VBSであるAD情報を取得したいで...
-
Wordでウィンドウハンドル(Hwn...
-
【VBA】EXCELブックを開かずに...
-
vb2005でhtmlからテキストのみ...
-
ExcelVBAで、FileSystemObject...
-
ps3で久しぶりにCDの音楽情報取...
-
年休5日の取得管理
-
【C#】FindWindowExの使い方を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
IEを使わないでhtmlテキストを...
-
Yahoo! JAPAN IDを新規取得でき...
-
自動車教習所について 質問 普...
-
アクセスの度にIPアドレスを変...
-
format関数について
-
Excel VBA:特定の文字列以降(...
-
ローカルのコンピュータ名を取...
-
不正競争防止法に該当するので...
-
ps3で久しぶりにCDの音楽情報取...
-
【VBA】EXCELブックを開かずに...
-
PHP の cURL で、htmlを画像へ...
-
VBS「開いているページ」のURL...
-
VBAでPDFファイルの文書のプロ...
-
ミュージックのアートワークを...
-
EXCEL、マクロ-改ページ行番号...
-
各クライアントマシンのログイ...
-
VB or VBScriptでPCの製造番号...
-
IPアドレスとMACアドレスを取得...
-
【C#】FindWindowExの使い方を...
おすすめ情報