
htmlの<script language="JavaScript">内の関数を実行してWeb内容を更新したいです。
あるサイトをスクレイピングしているのですが、自分がほしいデータはhtmlの埋め込み関数がボタンが押されることによって更新されます。
なので、外からその関数を実行してやればほしいデータが手に入るのでは?と思い、質問させていただきました。
pythonになれているのでできればpythonでどのようにすればいいのか教えていただきたいです。
しかし、その他の言語でも全く構いません。
どなたか教えていただけないでしょうか。
下の例で言うと、ボタンを押すとvalueが表示される。このvalueを取得したい。
-------htmlのイメージ------
<html>
<head>
<script language="JavaScript">
<!--
value = 0;
function exec()
{
value++;
document.getElementById("value").innerHTML='<font><B>’ + value + '</B></font>';
}
-->
</script>
</head>
<body>
<input onclick="JavaScript:exec()" type="button" />
<div id="value"><!-- execを実行するとここにfont・Bタグが入る その中のvalueを受け取りたい-->
</div>
</body>
</html>
No.2ベストアンサー
- 回答日時:
No1です。
>おそらく勘違いされているのではないかと推測します。
回答にも書きましたが、勘違いではなく「質問文からではわからない」ので、ありそうな内容を推測して回答しただけです。ですので、当たるも八卦みたいなものです。
>そのままスクレイピングをしようとすると結果が得られない
対象とするページがどのような仕組みになっているかによって方法は変わるでしょう。
仕組みによっては無理な場合もあり得ます。
ほとんど内容がわからないので、以下は推測だけによる回答です。
例えば、入力値をform送信するような仕組みの場合であれば、URLとクエリをダイレクトに作成してアクセスするだけで済むのかも知れません。
最適かどうかはおいていおいて、対応範囲が広いかも知れないのは、手動での操作を自動で行う方法でしょうか。
windowsであれば、ブラウザ(IE)をvbsなどから制御して必要な操作を行うなといった方法です。
https://www.fastclassinfo.com/entry/vba_ie_links …
失礼な補足をしてしまい、本当に申し訳ありませんでした。それにもかかわらず、私の分かりにくい文章を読み解こうと努力してくださり、こうして回答してくださったことにとても感謝しています。
ところで回答の件ですが、vbsを使えば確かにできそうでした。解決の糸口を示してくださってありがとうございます。
回答してくださって本当にありがとうございました
No.1
- 回答日時:
こんにちは
なさりたいことがよくわからないので、的はずれかもしれませんが・・・
>このvalueを取得したい。
スクリプトをみる限り、valueは最初に送る際は「1」の値以外は取らないので、それ以外の値を送りたいなら、直接値をセットして送る方が良さそうに思えます。
「取得したい」のはサーバ側のブログラムでしょうから、普通にformから送信すれば良いのではないでしょうか。
あるいは、URLのクエリ部を利用して「URL?value=××」として直接リクエストするとか。
どちらの場合も、レスポンスを待ってページ遷移が行われます。
遷移をさせたくないのであれば、ajaxを利用するとかでしょうか。
https://developer.mozilla.org/ja/docs/Web/Guide/ …
回答本当にありがとうございます。返信が遅れてしまい申し訳ありませんでした。
どうにか対処したいので、またの回答よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
ホームページのサイトでhtm...
-
ホームページを作っていたらhtm...
-
htmlの<input type=”file”>でア...
-
メモ帳の段落の揃え方
-
ホームページの制作について教...
-
iPhoneで HTMLファイルを閲覧
-
レスポンシブで困っています・・
-
GoogleSearchControlにホームペ...
-
HTML&CSSとHTML5&CSS3の違い...
-
テーブルのセルデータを自動改...
-
テーブルの行を折りたたみたい...
-
WEBページを強制的に横画面で見...
-
HTML/CSSを使って写真のような...
-
HTMLでクロス抽出したい
-
、URL化させるにはどうしたらい...
-
css初心者 フレックスボックス...
-
角丸画像の背景色を透明にした...
-
Dreamweverは今も主流なんです...
-
動画と画像&タイトル2列を横並...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPでソースが表示されてしまう。
-
私の能力からして間違っていな...
-
テキストをテキストエリアに自...
-
ある環境のみinputタグが複数あ...
-
vistaでhtml→jspが開けないです。
-
html 入力フォームの内容をjsで...
-
eclipse+Struts+Tomcat
-
読めない!
-
GAE/J 日本語が文字化けする?
-
フォームのテキストボックスの...
-
タグがうまくいかなくて困って...
-
海外向けHTMLを作成する際...
-
html同士の変数引渡し
-
xhtml 1.0とxhtml1.1
-
Strutsでの変数表示
-
ボタンでパラメータを渡すには
-
入力値を引数として検索するに...
-
jspからServletを呼び、元のjsp...
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
おすすめ情報
自分の質問が紛らわしいので、おそらく勘違いされているのではないかと推測します。
このhtmlページは自分で作成するものではなく、web上に公開されている者を想定しています。
よって、独学で超初心者なのでよくはわかっていないのですが、formからの送信はできないと
思います。さらに、上のhtmlは例ですので、実際はもっと複雑となっています。
自分のやりたいことをまとめると、web上に表示されるデータ(数字の配列)を取得したいのだが、その表示の前に複雑な処理がかかっていてそのままスクレイピングをしようとすると結果が得られないので、それに対処したいということです。
色々間違っているかもしれませんが、調べる方法だけでも構いませんので
回答よろしくお願いします。