我的问题分为两个主要部分。我很感激每一个有用的答案。在编程方面,我是一个新手。因此,我错过了“大局”。为了使对亚马逊的研究更容易,将信息从产品详细信息页面提取到图库视图页面(在进行搜索查询后显示的页面)会很有帮助。在您看来,最好的方法是什么(第一部分)?
我决定尝试的方法是将 Greasemonkey 与 XmlHttpRequest 结合使用,因为我知道 JavaScript,并且无论如何我都会在浏览器(Firefox 46)中进行研究。如果有更好的方法,请告诉我。我已经从源代码中提取了数据,但是在从其他页面(在同一域中)提取数据时我真的被卡住了。
代码的第一部分将链接拉到详细页面,但为了尽可能简短,我省略了它。这是我到目前为止所拥有的:
//This is an example-URL
var link = https://www.amazon.de/Emsa-513359-Isolierbecher-genie%C3%9Fen-Verschluss/dp/B008TLGFVU
function GetData() {
var xhr;
xhr = new XMLHttpRequest();
}
//Handle Response from Server;
xhr.onreadystatechange = function () {
if (xhr.readyState < 4) {
//Specify something }
else {
if (xhr.readyState === 4) {
if (xhr.status == 200 && xhr.status < 300) {
//This is the string / part of the product detail page, that I am interested in
document.getElementsByClassName('date-first-available')[0].getElementsByClassName('value')[0].innerHTML = xhr.responseText;
//This grabs the title in the gallery view page and replaces it with the pulled informaton (string)
var title = window.document.getElementsByClassName('s-result-item celwidget')[0].getElementsByTagName('h2')[0];
title.innerHTML = <span style='font-weight:bold" + "'>" + xhr.responseText + "</span>";
}}
}}
//Specify action, location and Send to the server
xhr.open('GET', link, true);
xhr.send();
我知道,那个产品标题部分很乱,但我很快就会改变它。我也知道,“为什么这不起作用?” 问题很烦人,但我真的可以使用一些提示。虽然看起来 XMLHttpRequest 在这里可能是一种可行的策略,但我不确定。我什至可以像这样在目标页面上指定目标元素吗?
非常感谢您!