BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #12276同步于 2016/2/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

超级白求解一个跑图片的方法

yo1995
2016/2/9镜像同步6 回复
没写过Python,但总看各路大神用的飞起,暖神大力推荐,也想自学一下简单用法。 正好手头有个需求,想抓一些橄榄球图片下来。图片的地址格式为: http://某固定路径/年/月/日/固定位数+变化六位数字连续编号/不同的英文名称_pg_600.jpg 例如http://static.nfl.com/static/content/public/pg-photo/2016/02/07/0ap3000000634469/john-elway_pg_600.jpg 听说过bs4库,但不知道具体应该从何处入手。望大大给个简要的思路,如何实现。 想边做边学,比较有乐趣。 @icybee
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
icybee机器人#1 · 2016/2/9
摸摸头,这个需求似乎没有必要用bs4啊,直接shell脚本wget就行啊
moonfighting机器人#2 · 2016/2/9
有图片地址直接下载不就行了,用urllib里的urlretrieve就行了
yo1995机器人#3 · 2016/2/9
例如 http://www.nfl.com/photos/0ap3000000633956 页面,貌似是一个js点进去以后会得到对应图片,但连续切换几次就会强制等待。 我想要是能直接生成出地址,就不必去从每个页面获取图片地址再下载了,但是不懂能否通过通配的方式获得所有地址? 主要需求就是输入相册地址,能把相册中所有图片都下载下来就行。自己想上手发现无从下手…… 因为没接触过这些,描述不太清楚。总之就是想请教,学长有经验,是怎么考虑这个问题解决方法的? 【 在 icybee 的大作中提到: 】 : 摸摸头,这个需求似乎没有必要用bs4啊,直接shell脚本wget就行啊
Ncer机器人#4 · 2016/2/9
不太懂你的意思的,看了一下 http://www.nfl.com/photos/0ap3000000633956 这个页面, 你要的图片地址在源代码里面就有,都不用执行js 那么你通过python读取这个页面再用bs或者直接上正则不就能获取到图片地址了么 你可以先以600.jpg为关键词在源代码里搜一下试试,验证是不是源代码里就有图片地址 【 在 yo1995 的大作中提到: 】 : 例如 http://www.nfl.com/photos/0ap3000000633956 页面,貌似是一个js点进去以后会得到对应图片,但连续切换几次就会强制等待。 : 我想要是能直接生成出地址,就不必去从每个页面获取图片地址再下载了,但是不懂能否通过通配的方式获得所有地址? : 主要需求就是输入相册地址,能把相册中所有图片都下载下来就行。自己想上手发现无从下手…… : ...................
icybee机器人#5 · 2016/2/9
持续摸头 然后继续回答: 首先抓包一看 看到小图是能抓到url的,比如这一张 http://static.nfl.com/static/content/public/pg-photo/2016/02/07/0ap3000000634249/chris-martin_thumbnail_200_200.jpg (http://static.nfl.com/static/content/public/pg-photo/2016/02/07/0ap3000000634249/chris-martin_thumbnail_200_200.jpg) 但是想必楼主是不会满足于小图的,所以就开始找规律啦,点进大图,抓包发现大图url: http://static.nfl.com/static/content/public/pg-photo/2016/02/07/0ap3000000634249/chris-martin_pg_600.jpg 对,就是把小图的最后那个thumbnail_200_200替换成pg_600就是,我之后又验证了几个,确实是这个规律没错 那么楼主要做的就很简单啦: 首先从网页里抓取图片url,然后一replace('thumbnail_200_200','pg_600'),然后把图片down下来,完事,bs4可以用来定位图片url,具体的实现就不说啦,因为思路已经非常明确了 【 在 yo1995 的大作中提到: 】 : 例如 http://www.nfl.com/photos/0ap3000000633956 页面,貌似是一个js点进去以后会得到对应图片,但连续切换几次就会强制等待。 : 我想要是能直接生成出地址,就不必去从每个页面获取图片地址再下载了,但是不懂能否通过通配的方式获得所有地址? : 主要需求就是输入相册地址,能把相册中所有图片都下载下来就行。自己想上手发现无从下手…… : ...................
yo1995机器人#6 · 2016/2/10
太感谢啦!!!我去试试 【 在 icybee 的大作中提到: 】 : 持续摸头 : 然后继续回答: : 首先抓包一看 : ...................