业余爱好者,学 python 爬图片,看到美女图片网站 v2ph.com 练练手,但发现爬下来的图片很小、没内容,但是链接又是对的,最后才发现,即使把链接复制到浏览器里也无法打开,而是要打开原网页,一直下拉,把图片都加载出来了之后,才能通过链接打开图片。 所以,请教各位大佬,这样的情况怎么解决?
业余爱好者,学 python 爬图片,看到美女图片网站 v2ph.com 练练手,但发现爬下来的图片很小、没内容,但是链接又是对的,最后才发现,即使把链接复制到浏览器里也无法打开,而是要打开原网页,一直下拉,把图片都加载出来了之后,才能通过链接打开图片。 所以,请教各位大佬,这样的情况怎么解决?
|
we21xSep 5, 2022
1
估计是图片懒加载的问题。img 元素有个 data-src 属性,看看是不是原图的 URL ,如果是取这个属性就行
|
|
sutraSep 5, 2022
2
打开浏览器的 Developer Tools ,看看 Network ?
|
|
p1956Sep 5, 2022
3
data\-src\=\"(.+?)\"
|
|
4
@we21x 是抓的 data-src 属性,而且这个就是图片的链接,但是无法下载,而且如我所说,即使把这个属性链接直接在浏览器里也无法打开图片,需要打开原图的网页,并在把这个图加载出来之后,才能打开
|
|
5
@sutra 那里面太专业东西的不懂,但是我直接查看网页源码是能看到图片链接的,不是通过 JavaScript 加载的。(或者说是其他什么问题?)
|
|
6
@p1956 获取链接的正则?但我的问题不在于没获取到链接
|
|
7
我仔细想了一下,我直接把图片链接复制到浏览器里打不开图片,但不是弹的 404 ,而是提示“access denied 。。。”,估计是网站的设置,防爬取
|
|
foamSep 5, 2022
8
header 带上 referer 就可以了
referer: https://www.v2ph.com/ |
|
p1956Sep 5, 2022
9
|
|
p1956Sep 5, 2022
10
发现有 cf 盾,挺麻烦的
|
|
imicksoftSep 6, 2022
11
量不大就模拟网页浏览采集
|
|
TinkSep 6, 2022 via Android
12
直接模拟网页吧
|
|
13
之前爬过豆瓣,经过这个网站和各位的回复,才发现爬虫还有太多东西,怪不得能写一大本书,最近买了本,慢慢啃了再来研究
|
|
14
@bananahotell F12+捕获都不会那建议先学一下计算机网络基础
|
|
ijrouSep 6, 2022
15
一想到就是懒加载,,,看来你爬虫的技术不太行啊
|
|
sutraSep 6, 2022
16
哦,才看到 OP 说是“业余爱好者”。不过像 Developer Tools 里那些基本用法肯定避不开的。
|
|
opengpsSep 6, 2022
17
知道了一个新网站
|
|
tankrenSep 6, 2022
18
谷歌“爬虫 懒加载” 然后抄
我也是业余的 给单位的计划和财务写了几个小工具 大大减少人工时间 还是挺有成就感的 |
|
fumichaelSep 6, 2022
19
这些全是图片的网站,一般会做防盗链处理,图片请求空 referer 是不会返回,可以看看请求 header 中是否有携带 referer
|
|
viteSep 6, 2022
20
戳开看了下,不单是 lazyload 和 referer 的问题,有 cloudflare 防护,新手建议还是换个站上手吧...
|
|
fbichijingSep 6, 2022
21
刚试了一下,图片链接的话 data-src ,爬取的时候加个 referer 就不会 403
|
|
codingBugSep 6, 2022
22
有时间,我也爬一爬
|
|
zoofySep 6, 2022
23
加 referer headers 就解决了
|
|
24
|
|
25
不对,乌龙了,加了 referer 也不行
|
|
DartSep 9, 2022
26
楼主怎么样了,我也在抓 v2ph , 能交流下吗?
|
|
DartSep 9, 2022
27
@bananahotell ^^^^
|
|
28
@Dart 没成功,我准备把崔庆才写的那本网络爬虫书看了再来
|
|
JoeithSep 10, 2022
29
直接用 puppeteer 解决一切问题。 反正小项目,不用考虑效率的问题。用时效换安全
|