作者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/cn.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