作者bugbug777 (sil)
看板Python
標題[問題] 網路爬蟲 抓不到標籤<img>的src屬性
時間Sun Nov 11 19:03:16 2018
大家好,小魯是個網路爬蟲新手
最近想來寫一個下載圖片的網路爬蟲
這裡附上簡短的程式碼
>>> 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://webptt.com/m.aspx?n=bbs/Python/M.1541934200.A.D4E.html
1F:推 ckc1ark: 檢測器看到的是前端處理後的DOM 可能page source沒這張圖 11/11 19:07
所以這樣就沒辦法爬取這張圖片的意思了嘛?
我也有想過用selinium去抓抓看 可是我發現網頁連右鍵都不給點
※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 19:10:02
2F:→ zo6596001: 把HTML輸出成一個txt檔,然後檢查跟Google看到的一不 11/11 19:10
3F:→ zo6596001: 一樣 11/11 19:10
4F:→ zo6596001: 如果不一樣的話,那就只能用Selenium了 11/11 19:10
我有將網頁的源始碼一樣用requests抓下來存成txt
可是點開進去檢閱,在要抓的圖片的<img>標籤中
還是跟上面顯示的結果一樣都抓不到src這個屬性
※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 19:17:44
5F:→ zo6596001: 可以Google一下Ajax這個東西,應該就是這個技術在搞鬼 11/11 19:16
剛剛google了一下有關ajax相關的爬蟲內容,發現要爬取這樣的內容
好像有點超出我現在的能力跟時間,不過還是很感謝你讓我有個簡單的概念
※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 19:30:18
6F:→ zo6596001: 其實就是網頁分成2種,動態跟靜態。 11/11 19:38
7F:→ zo6596001: requests之類的只能抓靜態網頁 11/11 19:39
9F:→ zo6596001: 你要抓的東西好像是透過這行從伺服器抓過來的 11/11 20:09
11F:→ zo6596001: 反白的是航海王的圖檔,我在requests回來的資料找不到 11/11 20:12
12F:→ zo6596001: 這串 11/11 20:12
13F:→ zo6596001: 還是改用Selenium吧... 11/11 20:12
謝謝你還自己幫忙測試了一遍= =
※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 20:26:28
15F:推 dhec10701p: 重點是要render javascript 11/11 20:26
16F:→ zo6596001: 偷偷貼我寫的爬蟲~ 其實Selenium也很簡單的~ 11/11 20:26
17F:→ zo6596001: 抓了幾十萬張圖片,現在硬碟正絕讚爆滿中~ 11/11 20:27
18F:→ TakiDog: 有能力就用requests找出規則爬,seleniumu效能太QQ 11/11 21:18
※ 編輯: bugbug777 (111.246.8.173), 11/11/2018 22:31:47
謝謝大哥,我大略的看了一下程式碼,這個好像就是我需要的,哈哈
只不過我還是新手,我對正規表示還不太熟悉,還有還在學習Js
程式碼裡面好像有關於Node.Js的東西,我會找時間再去摸索
不過很感謝你提供了一個大方向給我
※ 編輯: bugbug777 (111.246.8.173), 11/12/2018 17:55:56