看板 Python 關於我們 聯絡資訊
大家好,小魯是個網路爬蟲新手 最近想來寫一個下載圖片的網路爬蟲 這裡附上簡短的程式碼 >>> import requests, bs4 >>> url = 'https://v.comicbus.com/online/comic-103.html?ch=924' >>> r = requests.get(url) >>> r.raise_for_status() >>> soup = bs4.BeautifulSoup(r.text) >>> img_tag = soup.find('img', id='TheImg') >>> img_tag <img border="0" id="TheImg" name="TheImg"/> 似乎抓不到src的這個屬性,請問這是為什麼? 圖示8comic的海賊王924話圖片 https://imgur.com/ccnRjKr -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.246.8.173 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1541934200.A.D4E.html
ckc1ark: 檢測器看到的是前端處理後的DOM 可能page source沒這張圖 11/11 19:07
所以這樣就沒辦法爬取這張圖片的意思了嘛? 我也有想過用selinium去抓抓看 可是我發現網頁連右鍵都不給點 ※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 19:10:02
zo6596001: 把HTML輸出成一個txt檔,然後檢查跟Google看到的一不 11/11 19:10
zo6596001: 一樣 11/11 19:10
zo6596001: 如果不一樣的話,那就只能用Selenium了 11/11 19:10
我有將網頁的源始碼一樣用requests抓下來存成txt 可是點開進去檢閱,在要抓的圖片的<img>標籤中 還是跟上面顯示的結果一樣都抓不到src這個屬性 ※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 19:17:44
zo6596001: 可以Google一下Ajax這個東西,應該就是這個技術在搞鬼 11/11 19:16
剛剛google了一下有關ajax相關的爬蟲內容,發現要爬取這樣的內容 好像有點超出我現在的能力跟時間,不過還是很感謝你讓我有個簡單的概念 ※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 19:30:18
zo6596001: 其實就是網頁分成2種,動態跟靜態。 11/11 19:38
zo6596001: requests之類的只能抓靜態網頁 11/11 19:39
zo6596001: https://imgur.com/4wUewbD.jpg 11/11 20:08
zo6596001: 你要抓的東西好像是透過這行從伺服器抓過來的 11/11 20:09
zo6596001: https://imgur.com/7jHyB8J.jpg 11/11 20:11
zo6596001: 反白的是航海王的圖檔,我在requests回來的資料找不到 11/11 20:12
zo6596001: 這串 11/11 20:12
zo6596001: 還是改用Selenium吧... 11/11 20:12
謝謝你還自己幫忙測試了一遍= = ※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 20:26:28
zo6596001: https://imgur.com/lsp28eH.jpg 11/11 20:26
dhec10701p: 重點是要render javascript 11/11 20:26
zo6596001: 偷偷貼我寫的爬蟲~ 其實Selenium也很簡單的~ 11/11 20:26
zo6596001: 抓了幾十萬張圖片,現在硬碟正絕讚爆滿中~ 11/11 20:27
TakiDog: 有能力就用requests找出規則爬,seleniumu效能太QQ 11/11 21:18
※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 22:31:47
eight0: 用 requrests + node_vm2 https://is.gd/AfRc8h 11/12 16:15
謝謝大哥,我大略的看了一下程式碼,這個好像就是我需要的,哈哈 只不過我還是新手,我對正規表示還不太熟悉,還有還在學習Js 程式碼裡面好像有關於Node.Js的東西,我會找時間再去摸索 不過很感謝你提供了一個大方向給我 ※ 編輯: bugbug777 (111.246.8.173), 11/12/2018 17:55:56