|
|
发表于 2017-1-19 14:03:01
|
显示全部楼层
1.通过pass排除检测的方法,我发现只有在save的那个步骤会出现403错误,那么只要对这个地方作出修改就行了。
2.我单独一张一张的下的方式测试了下,发现是随机403,也就是按个10次8次总有几次能过。
3.我试过代理,也试过随机user-agent,发现都不能有效解决这个问题,不知道是不是别的什么地方被检测出来。
4.综上,既然怎么伪装都不行,那么就按照2步骤来,只要报错的图就重新下,按照这个思路用
- success = False
- while not success:
- try:
- with open(filename,'wb') as f:
- img = url_open(each)
- f.write(img)
- success = True
- #这里你可以自己加一些如time.sleep()的参数,或者print('something')来查验进度
- except:pass
复制代码
重复错误部分的下载,实测虽然耗时会长了一些,除了一张疑是广告的图片下载不了之外,其他都可以下载了。
5.对第3点提到的问题,我个人有几点猜想:①可能需要一个完整的头信息,②顺序下图的模式有可能被判为爬虫,③多次试验下载同一个图导致被服务器判定为爬虫。 |
|