昨天晚上写了个 Python 程序,下载了一个福利网站 5000 来张妹子图片

2015-08-24 09:48:39 +08:00
 liuxu
github:
https://github.com/liuxu0315/download_nvshen_so

执行:$ python nvshen_so.py

用了多线程, 8 条线程,在 /tmp 下生成 nvshen_so/01 等文件夹并下载到相应的目录。
里面有 2 行代码被注释掉了,它们是配套的,用来下载 2014/12/下的图片,有几百张。

现在有个问题,我的程序无法一次全部下载完,总是漏一点,要么是执行一段时间后就卡死不动了不知道是什么原因。。
当然下载图片前有判断是否有该文件,可以重复执行下载程序,不过这个治标没治本。。
16953 次点击
所在节点    Python
108 条回复
leavic
2015-08-24 11:35:13 +08:00
这网站的图片 URL 对爬虫太友好了。。。。
Ouyangan
2015-08-24 11:36:42 +08:00
正在看廖雪峰 python3 的教程呢? 看到 generator 那里晕着呢.
dingyaguang117
2015-08-24 11:37:47 +08:00
指定 timeout 是防卡死必须得呀
ljbha007
2015-08-24 11:43:06 +08:00
为啥你们都喜欢看妹子图片 不会越看越饥渴么
yh7gdiaYW
2015-08-24 11:51:25 +08:00
跑了一下,效果拔群
tt88050643
2015-08-24 12:29:52 +08:00
曾经设置 timeout 也不管用,然后写了个类似看门狗的线程来守护主线程,虽然方法很挫,但是成功下载到了十几万张图片。
wizardoz
2015-08-24 12:50:54 +08:00
少年你需要的是 scrapy
liuxu
2015-08-24 13:08:49 +08:00
@anthonylimhc
我的是 ubuntu,windows 上把程序的 basePath 改成 D:什么的也行
liuxu
2015-08-24 13:10:22 +08:00
@wizardoz
哈哈哈,它叫小刮刮啊,周末我拿了学习学习,感谢
kepenj
2015-08-24 13:43:08 +08:00
艾玛~ 我以为是颜色网站呢~ 专门还偷偷下了源码去找...
kenshinhu
2015-08-24 14:03:21 +08:00
为了这个,我要学 python
leorc
2015-08-24 14:05:32 +08:00
图呢。。。。
Dongdong36
2015-08-24 14:08:30 +08:00
再贡献两个...咳咳
https://github.com/sincerefly/Learning/blob/master/py/douban-meizi.py
这个貌似是哪个 V 友写的,抓取豆瓣妹子的,当时刚接触 py 爬虫就收藏一下

https://github.com/sincerefly/Learning/blob/master/py/getMeezin.py
这个是抓取 meez.in 的,遍历 wordpress 文章 id 抓取,索性图片没多少,千张图片不到,直接遍历一遍就可以,哦,对了,这个站是我的,如果只是单纯的想收藏图片的也可以直接向我要就好了......==!
xpol
2015-08-24 14:14:52 +08:00
以前用 ruby 写过一个爬 tusi8 的。好像输出了一个 json 文件,保存已经爬过了的(包括网盘连接和密码)。有想要的不?
Exin
2015-08-24 14:26:25 +08:00
一直不会写超时,导致我的爬虫爬不好的图床时总是卡死……
freaks
2015-08-24 14:33:11 +08:00
@liuxu 为什么运行不起来呢?
fjgwg
2015-08-24 14:42:45 +08:00
楼主你妹的,为什么扒我的站 搞的网站卡的要死
qq723985066
2015-08-24 14:48:28 +08:00
@fjgwg 哎呀我擦……不会吧
kknd22
2015-08-24 14:50:39 +08:00
容错太少
失败尝试重试
python 的 urllib 和 urllib2 模块检测错误能力都很强,但是下载经常出现图片不完整
我虽不怎么懂 python ,代码也是抄的,但是找到了一个笨办法解决:
足够的迭代重试,就可以解决下载图片不完整或者空的问题。
fjgwg
2015-08-24 15:03:06 +08:00
要扒你自己一个人扒,现在还把代码发出来 搞的大家都在扒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/215479

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX