【質問内容】こちらのサイトの下(https://www.ncbi.nlm.nih.gov/prote......

【質問内容】こちらのサイトの下(endoglucanase [Cellvibrio japonicus] - Protein - NCBI

QEI18240.1 endoglucanase [Cellvibrio japonicus]
MNLLSGWVRPLMLGCGLLGAALSAGSIQAAVCEYRVTNEWGSGFTASIRITNNGSSTINGWSVSWNYTDG
SRVTSSWNAGLSGANPYSATPVGWNTSIPIGSSVEFGVQGNNGSSRAQVPAVTGAICGGQGSSAPSSVAS
SSSSSSVVSSTPRSSSSSVSSSVPGTSSSSSSSVLTGAQACNWYGTLTPLCNNTSNGWGYEDGRSCVART
TCSAQPAPYGIVSTSSSTPLSSSSSSRSSVASSSSLSSATSSSASSVSSVPPIDGGCNGYATRYWDCCKP
HCGWSANVPSLVSPLQSCSANNTRLSDVSVGSSCDGGGGYMCWDKIPFAVSPTLAYGYAATSSGDVCGRC
YQLQFTGSSYNAPGDPGSAALAGKTMIVQATNIGYDVSGGQFDILVPGGGVGAFNACSAQWGVSNAELGA
QYGGFLAACKQQLGYNASLSQYKSCVLNRCDSVFGSRGLTQLQQGCTWFAEWFEAADNPSLKYKEVPCPA
ELTTRSGMNRSILNDIRNTCP
とあるアミノ酸配列の情報を自動でスクレイピング取得したいです。
同じような作業を全432ページ行わないといけないため、自動でやりたいと考えているのですが、
ページ読み込み後にすぐ反映されない仕様のためかうまくスクレイピングできません。
XPathを指定することで解決するのでしょうか。自分の知識不足のためそこらへんがあまり分かっておらず、どなたかお力添えいただけると嬉しいです。
該当部分をスクレイピングしようとして表示されるもの↓
FASTAFormatSummaryGenPeptGenPept (full)FASTAFASTA (text)GraphicsASN.1Revision HistoryAccession ListGI ListApplySend to:
jQuery(document).ready( function () {
jQuery("#send_to_menu input[type=‘radio’]").click( function () {
var selectedValue = jQuery(this).val().toLowerCase();
var selectedDiv = jQuery("#send_to_menu div." + selectedValue);
if(selectedDiv.is(":hidden")){
jQuery("#send_to_menu div.submenu:visible").slideUp();
selectedDiv.slideDown();
}
});
});
jQuery("#sendto").bind(“ncbipopperclose”, function(){
jQuery("#send_to_menu div.submenu:visible").css(“display”,“none”);
jQuery("#send_to_menu input[type=‘radio’]:checked").attr(“checked”,false);
});
Choose DestinationFileClipboardCollectionsAnalysis ToolFormatSummaryGenPeptGenPept (full)FASTAASN.1XMLINSDSeq XMLTinySeq XMLFeature TableFASTA CDSAccession ListGI ListGFF3
function x_showgi(el) {
// ID-4455
var elSeq = document.getElementById(“file_showgi_section”);
if (el.options[el.selectedIndex].getAttribute(“showgi”) === “true”) {
elSeq.style.display = “”;
} else {
elSeq.style.display = “none”;
}
}
setTimeout(function() {
x_showgi(document.getElementById(“file_format”));
}, 1000);
Show GICreate FileAdd to ClipboardAdd to Collections
function x_analysistool_evt(el) {
var elBtn = document.getElementById(“analysistool_submit_btn”);
console.info(" x_analysistool_evt, el=", el);
elBtn.setAttribute(“submit_url”, el.getAttribute(“submit_url”));
}
Choose Sequence Analysis ToolBLASTConserved Domains SearchSubmit

回答者
さほど詳しくはないですが、サイト自体がJSでレンダリングされてから表示させる仕様のようで、それが理由でJS(jQuery)コードが表示されるのではないかと思います。
それに対する記事はいくつか見つかりますが、この技術的内容をOctoparseで実装出来るかはわかりません。
https://qiita.com/buntafujikawa/items/e8db0e9346119cccea037
Octoparseでやる場合は、ページ遷移のワークフローにページ移動後30秒待ってからスクレイピングする、などが設定出来たらいけるかもしれませんね。
(めちゃ時間はかかると思いますがw)
参考になれば幸いです。

質問者
ありがとうございます!
30秒待って、やりましたw
そしてそれでも抜け漏れが起きるので、そのWFを4つぐらい組んで、60%ほどはカバーできました。
トホホ…( ;∀;)

回答者
30秒×432・・・それだけで4時間くらい:両目::超びっくりマーク:
60%でしたら、やらないよりはマシ?でしたね。
他のスクレイピングツール使ってみるのも良いかもしれません。
simple scraper

obviously AI

質問者
30秒×4×432なので16時間でしたね〜笑
30秒制限とかがないツールがあれば使いたいなって感じです:拍手:

回答者
ですね、現状はレンダリングにバッチリ対応するツールはなかなか見つかっていないかなというのが現状でしょうか。
こういうケースはコードを書くのがベストなのでしょうね

参考URL

https://qiita.com/buntafujikawa/items/e8db0e9346119cccea037