我用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