我用XMLHttpRequest實作一個,
找到米特某文章所有圖片的程式碼
其中也會找到上一頁的網址 儲存為url


let space 
url="https://meteor.today/article/a6GSu4"
async function test(){let req=new XMLHttpRequest;
req.open("get",url);
req.onload=function(){

space=this.response;

//parser與DOM操作
let parser = new DOMParser();
let parsed = parser.parseFromString(space, "text/html");
let text=parsed.getElementById("article_content")
let texted=text.innerText.split("\n")

//把圖片網址call出來
for (j=0;j<texted.length;j++){
if(texted[j].search(".jpg")>-1){console.log('https'+texted[j].split("https")[1])};
}

//上一頁的網址
url=parsed.querySelector("body > div.pusher > div.ts.container > div.ts.relaxed.grid > div.nine.wide.computer.sixteen.wide.mobile.column > div:nth-child(2) > div.ts.stackable.two.column.grid > div:nth-child(1) > a").href;
//這個新的url我想要把它拿出來,讓我未來迴圈可以用!
}

req.send();
}
test()

我的主要問題是,
我想要拿出來的這個url拿不出來,
並沒有讓我可以呼叫url=上一頁
似乎是因為這個變數在XMLHttpRequest的過程中存取的,因此執行完就拿不到(?

(去年五月就開始研究的...一直找不到相關解法QQ)

按讚的人:

共有 7 則留言

針對不同網站的架構,爬蟲有的易寫,有的難寫

有沒有試過直接爬「列表」頁面呢?

https://meteor.today/board/sellphoto


此外,實務上寫爬蟲,幾乎都是由後端負責,比較少在前端負責

這個解法也是我備用的,不過也要處理載入更多文章的問題(?
後端的話我用python有玩過了,所以才來挑戰用ajax的~
算是一種練習

載入更多文章,通常觀察一下 ajax 的參數,就可以做到,再試試看吧

按讚的人:

滿好的練習
另外,把做好的小東西,公開上線,找地方宣傳一下,會更好玩

按讚的人:

很精準的建議 剛好另一個練習也是碰到動態載入
(蝦皮聊聊的內容、D卡文章)
果然去看network就發現是有玄機的  會再做研究
這部分一直苦手  慢慢來搞懂他們  最近已經有在練習使用postman~

上線的話今天也剛好看到幾年前「學測五選四」的作者分享他創作的心得
覺得是個很厲害的前輩 會朝向他的方向學習
看了滿勵志 他寫的時候才高中生 靠備審48級分進交大資工
態度很值得學習~

按讚的人:

你貼的那段 code 我直接在 console 跑會出現

Uncaught ReferenceError: last is not defined
    at req.onload (<anonymous>:17:83)

沒刪乾淨 last那個拿掉就好 我已經修正~
sor