HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0418
昭和世代IEでアクセス出来なくなりました。2解決


昭和世代

リンク

2020/4/18(Sat) 16:16:34|NO.90132

URL = "https://web.fisco.jp/platform/companies/0720300"
このサイトをIEで開くと、『Internet Explorerのサポートは終了しました。』
EdgeやChromeで開く様にとのメッセージ。
その為、IEを使っている『comobj51.hsp』ではアクセスが出来ず、困っています。
簡単にEdgeやChromeを使ってHPのDLをする方法はないものでしょうか。
何分にも私のレベルが低いので、比較的簡単な方法で対応ができる方法を
教えて頂けないでしょうか。
<参考>
;***** URLを指定してHTMLファイルのテキストを抽出 (comobj51.hsp) *****
;▼URLを指定
sURL = "https://web.fisco.jp/platform/companies/0720300"
title sURL
;▼IE(InternetExplorer.Application)オブジェクトを作成
newcom objIE, "InternetExplorer.Application"
objIE("Silent") = 1
objIE("Visible") = 0 ;非表示モードで起動
;▼指定URLを開く
objIE->"Navigate" sURL
gosub *busywait
wait 10
objDoc=objIE("Document")
objBody=objDoc("body")
ReturnHTML=objBody("innerText")
//objprm objectID,ReturnHTML
noteunsel
notesel ReturnHTML
file_a = dir_cur + "\\text_dump.csv"
notesave file_a

;▼IEを終了させる
objIE->"Quit"
;▼オブジェクトを破棄
delcom objDoc
delcom objBody
delcom objIE
assert
end

*busywait
;▼ページの読み込みが終了するまで待つ
title "ページを読み込み中です。"
repeat
wait 10
if objIE("Busy")=0 : break
loop
objDoc=objIE("Document")
repeat
wait 10
if (objdoc("readyState") = "complete") : break

loop
title "ページが表示されました。"
return



この記事に返信する


ooo

リンク

2020/4/19(Sun) 22:22:13|NO.90139

とりあえずUserAgentを偽装すれば弾かれることはなくなります。
ただしIEコンポーネントを使用するので以下のサイトのようにレジストリを変更して
IEコンポーネントのバージョンをIE11相当に上げる必要があります。
http://www2.hatenadiary.jp/entry/2013/12/20/114342
また、あくまで偽装なので希望通りの動作をするかはわかりません。(特にjavascriptでページを作るなどしている場合)
レジストリを変更したら以下のスクリプトで取得できます。

#include "user32.as" #define SW_HIDE $00000000 #uselib "urlmon.dll" #func UrlMkSetSessionOption "UrlMkSetSessionOption" int,sptr,int,int #define URLMON_OPTION_USERAGENT $10000001 ua="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36" UrlMkSetSessionOption URLMON_OPTION_USERAGENT,ua,strlen(ua)+1,0 ;***** URLを指定してHTMLファイルのテキストを抽出 (comobj51.hsp) ***** ;▼URLを指定 sURL = "https://web.fisco.jp/platform/companies/0720300" title sURL ;▼IE(InternetExplorer.Application)オブジェクトを作成 axobj objIE, "Shell.Explorer.2",640,480 objid=stat ShowWindow objinfo_hwnd(objid),SW_HIDE;非表示モードで起動 objIE("Silent") = 1 ;▼指定URLを開く objIE->"Navigate" sURL gosub *busywait wait 10 objDoc=objIE("Document") objBody=objDoc("body") ReturnHTML=objBody("innerText") //objprm objectID,ReturnHTML noteunsel notesel ReturnHTML file_a = dir_cur + "\\text_dump.csv" notesave file_a ;▼IEを終了させる clrobj objid,objid ;▼オブジェクトを破棄 delcom objDoc delcom objBody delcom objIE assert end *busywait ;▼ページの読み込みが終了するまで待つ title "ページを読み込み中です。" repeat wait 10 if objIE("Busy")=0 : break loop objDoc=objIE("Document") mes "ok" repeat wait 10 if (objdoc("readyState") = "complete") : break loop title "ページが表示されました。" return



昭和世代

リンク

2020/4/20(Mon) 07:41:16|NO.90140

ooo様
 有難う御座います。
 頂いたスプリクトの仕組みは理解できませんが、欲しい情報が取得できました。
 有難く活用させて頂きます。



ONION software Copyright 1997-2021(c) All rights reserved.